{"id":10391,"date":"2020-10-08T10:34:55","date_gmt":"2020-10-08T01:34:55","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=10391"},"modified":"2020-10-25T09:21:20","modified_gmt":"2020-10-25T00:21:20","slug":"template-%ed%8c%a8%ed%84%b4","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=10391","title":{"rendered":"[GoF] Template \ud328\ud134"},"content":{"rendered":"<h4>\ud328\ud134\uba85\uce6d <\/h4>\n<p>Template<\/p>\n<h4>\ud544\uc694\ud55c \uc0c1\ud669<\/h4>\n<p>\ucc98\ub9ac\uc5d0 \ub300\ud55c \ub85c\uc9c1\uc740 \uc815\ud574\uc838 \uc788\uc744 \ub54c, \uc774 \ub85c\uc9c1\uc744 \uad6c\uc131\ud558\ub294 \uac01\uac01\uc758 \uc138\ubd80 \ud56d\ubaa9\uc5d0 \ub300\ud55c \ucc98\ub9ac\ub4e4\uc744 \ub2e4\ub974\uac8c \uc815\uc758\ud558\uace0\uc790\ud560\ub54c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ud328\ud134\uc774\ub2e4.<\/p>\n<h4>\uc608\uc81c \ucf54\ub4dc <\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2020\/10\/template.png\" alt=\"\" width=\"729\" height=\"294\" class=\"aligncenter size-full wp-image-10394\" \/><\/p>\n<p>\uc704\uc758 \ud074\ub798\uc2a4\ub2e4\uc774\uc5b4\uadf8\ub7a8\uc5d0\uc11c DisplayArticleTemplate\uc740 \uc774\ubbf8 \uc815\ud574\uc9c4 \ub85c\uc9c1\uc744 \uc815\uc758\ud558\ub294 \ud074\ub798\uc2a4\uc774\uba70, \uc774 \ub85c\uc9c1\uc744 \uad6c\uc131\ud558\ub294 \ud56d\ubaa9\ub4e4\uc758 \uc138\ubd80 \ucc98\ub9ac\uc5d0 \ub300\ud55c \uc778\ud130\ud398\uc774\uc2a4\ub9cc\uc744 \uc815\uc758\ud558\uace0 \uc788\ub294 \ucd94\uc0c1\ud074\ub798\uc2a4\uc774\ub2e4. \uc774 \ud074\ub798\uc2a4\ub97c \uc0c1\uc18d\ubc1b\uc544 \uac01 \uc138\ubd80 \ud56d\ubaa9\uc744 \uad6c\ud604\ud574\uc57c \ud558\ub294\ub370, SimpleDisplayArticle\uacfc CaptionDisplayArticle\uc774 \ubc14\ub85c \uadf8 \ud074\ub798\uc2a4\uc774\ub2e4. DisplayArticleTemplate \ud074\ub798\uc2a4\ub294 \uc5b4\ub5a4 \ub370\uc774\ud130\ub97c \ud654\uba74\uc5d0 \ucd9c\ub825\ud558\ub294 \uc77c\uc744 \ud558\ub294\ub370, \ucd9c\ub825\ud558\ub294 \ub300\uc0c1\uc774 \ub418\ub294 \ub370\uc774\ud130\ub294 Article \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4\uc5d0 \uc800\uc7a5\ub41c\ub2e4.<\/p>\n<p>\uba3c\uc800 Article \ud074\ub798\uc2a4\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\npackage pattern;\r\n\r\nimport java.util.ArrayList;\r\n\r\npublic class Article {\r\n\tprivate String title;\r\n\tprivate ArrayList&lt;String> content;\r\n\tprivate String footer;\r\n\t\r\n\tpublic Article(String title, ArrayList&lt;String> content, String footer) {\r\n\t\tthis.title = title;\r\n\t\tthis.content = content;\r\n\t\tthis.footer = footer;\r\n\t}\r\n\t\r\n\tpublic String getTitle() {\r\n\t\treturn title;\r\n\t}\r\n\t\r\n\tpublic ArrayList&lt;String> getContent() {\r\n\t\treturn content;\r\n\t}\r\n\t\r\n\tpublic String getFooter() {\r\n\t\treturn this.footer;\r\n\t}\r\n}\r\n<\/pre>\n<p>\uc81c\ubaa9, \ub0b4\uc6a9, \ub05d\ub0b4\uc6a9\uc740 \uac01\uac01 title, content, footer \ud544\ub4dc\uc5d0 \uc800\uc7a5\ub41c\ub2e4. \uc774\uc81c \uc774 \ub370\uc774\ud130\ub97c \ucd9c\ub825\ud558\ub294 \ub85c\uc9c1\uc744 \ub2f4\ub2f9\ud558\ub294 DisplayArticleTemplate \ud074\ub798\uc2a4\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\npackage pattern;\r\n\r\npublic abstract class DisplayArticleTemplate {\r\n\tprotected abstract void title();\r\n\tprotected abstract void content();\r\n\tprotected abstract void footer();\r\n\t\r\n\tprotected Article article;\r\n\r\n\tpublic DisplayArticleTemplate(Article article) {\r\n\t\tthis.article = article;\r\n\t}\r\n\t\r\n\tpublic final void display() {\r\n\t\ttitle();\r\n\t\tcontent();\r\n\t\tfooter();\r\n\t}\r\n}\r\n<\/pre>\n<p>display \ub9e4\uc11c\ub4dc\uac00 \ub85c\uc9c1\uc774\uace0, title, content, footer \ub9e4\uc11c\ub4dc\uac00 \ub85c\uc9c1\uc744 \uad6c\uc131\ud558\ub294 \uc0c1\uc138 \ucc98\ub9ac\uc774\ub2e4. \uc774\uc81c DisplayArticleTemplate \ud074\ub798\uc2a4\ub97c \uc0c1\uc18d\ud574 \uac01 \uc0c1\uc138 \ucc98\ub9ac\ub97c \uad6c\ud604\ud558\ub294 \ud074\ub798\uc2a4\ub97c \uc0b4\ud3b4\ubcf4\uc790. \uba3c\uc800 SimpleDisplayArticle \ud074\ub798\uc2a4\uc774\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\npackage pattern;\r\n\r\nimport java.util.ArrayList;\r\n\r\npublic class SimpleArcticle extends DisplayArticleTemplate {\r\n\r\n\tpublic SimpleArcticle(Article article) {\r\n\t\tsuper(article);\r\n\t}\r\n\r\n\t@Override\r\n\tprotected void title() {\r\n\t\tSystem.out.println(article.getTitle());\r\n\t}\r\n\r\n\t@Override\r\n\tprotected void content() {\r\n\t\tArrayList&lt;String> content = article.getContent();\r\n\t\tint cntLines = content.size();\r\n\t\tfor(int i=0; i&lt;cntLines; i++) {\r\n\t\t\tSystem.out.println(content.get(i));\r\n\t\t}\r\n\t}\r\n\r\n\t@Override\r\n\tprotected void footer() {\r\n\t\tSystem.out.println(article.getFooter());\r\n\t}\r\n}\r\n<\/pre>\n<p>\ub2e4\uc74c\uc740 CaptionDisplayArticle \ud074\ub798\uc2a4\uc774\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\npackage pattern;\r\n\r\nimport java.util.ArrayList;\r\n\r\npublic class CaptionArticle extends DisplayArticleTemplate {\r\n\r\n\tpublic CaptionArticle(Article article) {\r\n\t\tsuper(article);\r\n\t}\r\n\r\n\t@Override\r\n\tprotected void title() {\r\n\t\tSystem.out.println(\"TITLE: \" + article.getTitle());\r\n\t}\r\n\r\n\t@Override\r\n\tprotected void content() {\r\n\t\tSystem.out.println(\"CONTENT:\");\r\n\t\t\r\n\t\tArrayList&lt;String> content = article.getContent();\r\n\t\tint cntLines = content.size();\r\n\t\tfor(int i=0; i&lt;cntLines; i++) {\r\n\t\t\tSystem.out.println(\"    \" + content.get(i));\r\n\t\t}\r\n\t}\r\n\r\n\t@Override\r\n\tprotected void footer() {\r\n\t\tSystem.out.println(\"FOOTER: \" + article.getFooter());\r\n\t}\r\n}\r\n<\/pre>\n<p>\uc774\uc81c \uc774 \ud074\ub798\uc2a4\ub4e4\uc744 \uc0ac\uc6a9\ud558\ub294 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\npackage pattern;\r\n\r\nimport java.util.ArrayList;\r\n\r\npublic class Main {\r\n\tpublic static void main(String[] args) {\r\n\t\tString title = \"GIS, powerful tool\";\r\n\t\t\r\n\t\tArrayList&lt;String> content = new ArrayList&lt;String>();\r\n\t\tcontent.add(\"GIS is a geographic information system.\");\r\n\t\tcontent.add(\"It is base on real spatial data.\");\r\n\t\tcontent.add(\"It provides analyzing spatial and geographic data\");\r\n\t\t\r\n\t\tString footer = \"2020.10.08, written by Dip2K\";\r\n\t\t\r\n\t\tArticle article = new Article(title, content, footer);\r\n\t\t\r\n\t\tSystem.out.println(\"[CASE-1]\");\r\n\t\tDisplayArticleTemplate style1 = new SimpleArcticle(article);\r\n\t\tstyle1.display();\r\n\t\t\r\n\t\tSystem.out.println();\r\n\t\t\r\n\t\tSystem.out.println(\"[CASE-2]\");\r\n\t\tDisplayArticleTemplate style2 = new CaptionArticle(article);\r\n\t\tstyle2.display();\r\n\t}\r\n}\r\n<\/pre>\n<p>\ud558\ub098\uc758 \ub370\uc774\ud130\uc5d0 \ub300\ud574 2\uac00\uc9c0\uc758 \ud45c\ud604 \ubc29\ubc95\uc744 \ud655\uc778\ud558\ub294 \ucf54\ub4dc\uc778\ub370, \uc2e4\ud589 \uacb0\uacfc\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre class='code'>[CASE-1]\r\nGIS, powerful tool\r\nGIS is a geographic information system.\r\nIt is base on real spatial data.\r\nIt provides analyzing spatial and geographic data\r\n2020.10.08, written by Dip2K\r\n\r\n[CASE-2]\r\nTITLE: GIS, powerful tool\r\nCONTENT:\r\n    GIS is a geographic information system.\r\n    It is base on real spatial data.\r\n    It provides analyzing spatial and geographic data\r\nFOOTER: 2020.10.08, written by Dip2K\r\n<\/pre>\n<div style='background:#efefef;border-radius:8px;padding:12px 24px'>\uc774 \uae00\uc740 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc124\uacc4\uc758 \uae30\ubc18\uc774 \ub418\ub294 GoF\uc758 \ub514\uc790\uc778\ud328\ud134\uc5d0 \ub300\ud55c \uac15\uc758\uc790\ub8cc\uc785\ub2c8\ub2e4. \uc644\uc804\ud55c \uc2e4\uc2b5\uc744 \uc704\ud574 \uc774 \uae00\uc5d0\uc11c \uc18c\uac1c\ud558\ub294 \ud074\ub798\uc2a4 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uacfc \uc608\uc81c \ucf54\ub4dc\ub294 \uc644\uc804\ud558\uac8c \uc2e4\ud589\ub418\ub3c4\ub85d \uc81c\uacf5\ub418\uc9c0\ub9cc, \uc0c1\ub300\uc801\uc73c\ub85c \uc608\uc81c \ucf54\ub4dc\uc640 \uad00\ub828\ub41c \uc124\uba85\uc774 \ud568\ucd95\uc801\uc73c\ub85c \uc81c\uacf5\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0 \ub300\ud574 \uad81\uae08\ud55c \uc810\uc774 \uc788\uc73c\uba74 \ub313\uae00\uc744 \ud1b5\ud574 \ub0a8\uaca8\uc8fc\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ud328\ud134\uba85\uce6d Template \ud544\uc694\ud55c \uc0c1\ud669 \ucc98\ub9ac\uc5d0 \ub300\ud55c \ub85c\uc9c1\uc740 \uc815\ud574\uc838 \uc788\uc744 \ub54c, \uc774 \ub85c\uc9c1\uc744 \uad6c\uc131\ud558\ub294 \uac01\uac01\uc758 \uc138\ubd80 \ud56d\ubaa9\uc5d0 \ub300\ud55c \ucc98\ub9ac\ub4e4\uc744 \ub2e4\ub974\uac8c \uc815\uc758\ud558\uace0\uc790\ud560\ub54c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ud328\ud134\uc774\ub2e4. \uc608\uc81c \ucf54\ub4dc \uc704\uc758 \ud074\ub798\uc2a4\ub2e4\uc774\uc5b4\uadf8\ub7a8\uc5d0\uc11c DisplayArticleTemplate\uc740 \uc774\ubbf8 \uc815\ud574\uc9c4 \ub85c\uc9c1\uc744 \uc815\uc758\ud558\ub294 \ud074\ub798\uc2a4\uc774\uba70, \uc774 \ub85c\uc9c1\uc744 \uad6c\uc131\ud558\ub294 \ud56d\ubaa9\ub4e4\uc758 \uc138\ubd80 \ucc98\ub9ac\uc5d0 \ub300\ud55c \uc778\ud130\ud398\uc774\uc2a4\ub9cc\uc744 \uc815\uc758\ud558\uace0 \uc788\ub294 \ucd94\uc0c1\ud074\ub798\uc2a4\uc774\ub2e4. \uc774 \ud074\ub798\uc2a4\ub97c \uc0c1\uc18d\ubc1b\uc544 \uac01 \uc138\ubd80 \ud56d\ubaa9\uc744 \uad6c\ud604\ud574\uc57c \ud558\ub294\ub370, SimpleDisplayArticle\uacfc CaptionDisplayArticle\uc774 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=10391\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[GoF] Template \ud328\ud134&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-10391","post","type-post","status-publish","format-standard","hentry","category-design"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/10391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10391"}],"version-history":[{"count":9,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/10391\/revisions"}],"predecessor-version":[{"id":10570,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/10391\/revisions\/10570"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10391"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}