{"id":8946,"date":"2020-08-11T11:00:44","date_gmt":"2020-08-11T02:00:44","guid":{"rendered":"https:\/\/www.gigas-jp.com\/appnews\/?p=8946"},"modified":"2020-08-07T21:30:12","modified_gmt":"2020-08-07T12:30:12","slug":"design-patterns-in-programming","status":"publish","type":"post","link":"https:\/\/www.gigas-jp.com\/appnews\/archives\/8946","title":{"rendered":"Design Patterns In Programming"},"content":{"rendered":"\n<p>In software engineering, a design pattern is a general solution to a common problem in software design. A design pattern is not a finished design that can be directly transformed into code. It is a description or template for how to solve a problem that can be used in many different situations.<\/p>\n\n\n\n<p>Design patterns can speed up the development process by providing tried and tested development paradigms. Effective software design requires considering issues that may not be visible until later in implementation. Reusing design patterns helps prevent subtle problems that can cause major problems and improves code readability for coders and architects familiar with the patterns.<\/p>\n\n\n\n<p>Generally , there are 23 kinds of design patterns under three main groups called creational, structural and behavioral.<\/p>\n\n\n\n<h3>Under the creational design pattern.<\/h3>\n\n\n\n<ul><li>Abstract Factory<\/li><li> Builder<\/li><li> Factory Method<\/li><li> Object Pool<\/li><li> Prototype<\/li><li> Singleton<\/li><\/ul>\n\n\n\n<h3>Structural design pattern<\/h3>\n\n\n\n<ul><li>Adapter<\/li><li> Bridge<\/li><li> Composite<\/li><li> Decorator<\/li><li> Facade<\/li><li> Flyweight<\/li><li> Private Class Data<\/li><li> Proxy<\/li><\/ul>\n\n\n\n<h3>Behavioral design pattern<\/h3>\n\n\n\n<ul><li>Chain of responsibility<\/li><li> Command<\/li><li> Interpreter<\/li><li> Iterator<\/li><li> Mediator<\/li><li> Memento<\/li><li> Null Object<\/li><li> Observer<\/li><li> State<\/li><li> Strategy<\/li><li> Template method<\/li><li> Visitor<\/li><\/ul>\n\n\n\n<p>I will talk about those patterns one by one in the coming weeks, see ya.<\/p>\n\n\n\n<p>By Yuuma.<\/p>\n<div class='wp_social_bookmarking_light'>\n            <div class=\"wsbl_google_plus_one\"><g:plusone size=\"medium\" annotation=\"none\" href=\"https:\/\/www.gigas-jp.com\/appnews\/archives\/8946\" ><\/g:plusone><\/div>\n            <div class=\"wsbl_hatena_button\"><a href=\"\/\/b.hatena.ne.jp\/entry\/https:\/\/www.gigas-jp.com\/appnews\/archives\/8946\" class=\"hatena-bookmark-button\" data-hatena-bookmark-title=\"Design Patterns In Programming\" data-hatena-bookmark-layout=\"standard\" title=\"\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0\"> <img src=\"\/\/b.hatena.ne.jp\/images\/entry-button\/button-only@2x.png\" alt=\"\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0\" width=\"20\" height=\"20\" style=\"border: none;\" \/><\/a><script type=\"text\/javascript\" src=\"\/\/b.hatena.ne.jp\/js\/bookmark_button.js\" charset=\"utf-8\" async=\"async\"><\/script><\/div>\n            <div class=\"wsbl_twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"https:\/\/www.gigas-jp.com\/appnews\/archives\/8946\" data-text=\"Design Patterns In Programming\" data-via=\"GIGASJAPAN_APPS\" data-lang=\"ja\">Tweet<\/a><\/div>\n            <div class=\"wsbl_facebook_like\"><div id=\"fb-root\"><\/div><fb:like href=\"https:\/\/www.gigas-jp.com\/appnews\/archives\/8946\" layout=\"button_count\" action=\"like\" width=\"100\" share=\"false\" show_faces=\"false\" ><\/fb:like><\/div>\n            <div class=\"wsbl_facebook_send\"><div id=\"fb-root\"><\/div><fb:send href=\"https:\/\/www.gigas-jp.com\/appnews\/archives\/8946\" colorscheme=\"light\" ><\/fb:send><\/div>\n    <\/div>\n<br class='wp_social_bookmarking_light_clear' \/>\n","protected":false},"excerpt":{"rendered":"<p>In software engineering, a design pattern is a general solution to a common problem in software design. A desi [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[100],"tags":[],"acf":[],"_links":{"self":[{"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/posts\/8946"}],"collection":[{"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/comments?post=8946"}],"version-history":[{"count":1,"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/posts\/8946\/revisions"}],"predecessor-version":[{"id":8947,"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/posts\/8946\/revisions\/8947"}],"wp:attachment":[{"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/media?parent=8946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/categories?post=8946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gigas-jp.com\/appnews\/wp-json\/wp\/v2\/tags?post=8946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}