{"id":4737,"date":"2020-12-17T07:08:45","date_gmt":"2020-12-16T22:08:45","guid":{"rendered":"https:\/\/taki-lab.site\/bocci\/?p=4737"},"modified":"2020-12-17T07:08:48","modified_gmt":"2020-12-16T22:08:48","slug":"%e3%80%90%e3%83%87%e3%82%b6%e3%82%a4%e3%83%b3%e3%83%91%e3%82%bf%e3%83%bc%e3%83%b3%e3%80%91bridge%e3%83%91%e3%82%bf%e3%83%bc%e3%83%b3","status":"publish","type":"post","link":"https:\/\/taki-lab.site\/bocci\/?p=4737","title":{"rendered":"\u3010\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3011Bridge\u30d1\u30bf\u30fc\u30f3"},"content":{"rendered":"\n<p>Bridge\u30d1\u30bf\u30fc\u30f3\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package org.example.bridge;\r\n\r\npublic abstract class Implementor {\r\n    public abstract void implMethodX();\r\n    public abstract void implMethodY();\r\n}\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package org.example.bridge;\r\n\r\npublic class concreteImplementorA extends Implementor{\r\n    @Override\r\n    public void implMethodX() {\r\n\r\n    }\r\n\r\n    @Override\r\n    public void implMethodY() {\r\n\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package org.example.bridge;\r\n\r\npublic class concreteImplementorB extends Implementor{\r\n    @Override\r\n    public void implMethodX() {\r\n\r\n    }\r\n\r\n    @Override\r\n    public void implMethodY() {\r\n\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package org.example.bridge;\r\n\r\npublic class Abstraction {\r\n    Implementor implementor;\r\n\r\n    public Abstraction(Implementor implementor)\r\n    {\r\n        this.implementor = implementor;\r\n    }\r\n\r\n    public void method1()\r\n    {\r\n\r\n    }\r\n\r\n    public void method2()\r\n    {\r\n\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package org.example.bridge;\r\n\r\npublic class RefileAbstraction extends Abstraction{\r\n    public RefileAbstraction(Implementor implementor) {\r\n        super(implementor);\r\n    }\r\n\r\n    @Override\r\n    public void method1()\r\n    {\r\n\r\n    }\r\n\r\n    @Override\r\n    public void method2()\r\n    {\r\n\r\n    }\r\n\r\n    public void refineMethodA()\r\n    {\r\n\r\n    }\r\n\r\n    public void refineMethodB()\r\n    {\r\n\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>package org.example.bridge;\r\n\r\npublic class Main {\r\n    public static void main(String&#91;] args)\r\n    {\r\n        RefileAbstraction refileAbstraction1 = new RefileAbstraction(new concreteImplementorA());\r\n        refileAbstraction1.method1();\r\n        refileAbstraction1.method2();\r\n        refileAbstraction1.refineMethodA();\r\n        refileAbstraction1.refineMethodB();\r\n\r\n        RefileAbstraction refileAbstraction2 = new RefileAbstraction(new concreteImplementorB());\r\n        refileAbstraction2.method1();\r\n        refileAbstraction2.method2();\r\n        refileAbstraction2.refineMethodA();\r\n        refileAbstraction2.refineMethodB();\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p>Bridge\u30d1\u30bf\u30fc\u30f3\u306f\u3001\u51e6\u7406\u3092\u6a5f\u80fd(Abstraction)\u3068\u5b9f\u88c5(Implementor)\u306b\u5206\u3051\u3066\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3059\u308b\u30d1\u30bf\u30fc\u30f3\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u51e6\u7406\u3092\u62e1\u5f35\u3059\u308b\u5834\u5408\u306fImplementor\u3092\u7d99\u627f\u3057\u3066concreteImplementor\u30af\u30e9\u30b9\u3092\u4f5c\u6210\u3001\u6a5f\u80fd\u5074\u306b\u305d\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u6e21\u3059\u30a4\u30e1\u30fc\u30b8\u3067\u3059\u3002<\/p>\n\n\n\n<a href=\"\/\/blog.with2.net\/link\/?2023426:1010\" target=\"_blank\" rel=\"noopener\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2019\/12\/03a6eee54039f74ded0b8f7548b1868f.png?w=474\" title=\"\u30d1\u30bd\u30b3\u30f3\u30e9\u30f3\u30ad\u30f3\u30b0\"><\/a>\n\n","protected":false},"excerpt":{"rendered":"<p>Bridge\u30d1\u30bf\u30fc\u30f3\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u3059\u3002 Bridge\u30d1\u30bf\u30fc\u30f3\u306f\u3001\u51e6\u7406\u3092\u6a5f\u80fd(Abstraction)\u3068\u5b9f\u88c5(Implementor)\u306b\u5206\u3051\u3066\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3059\u308b\u30d1\u30bf\u30fc\u30f3\u3067\u3059\u3002 \u51e6\u7406\u3092\u62e1\u5f35\u3059\u308b\u5834\u5408\u306fImplementor\u3092 &hellip; <a href=\"https:\/\/taki-lab.site\/bocci\/?p=4737\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">\u3010\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3011Bridge\u30d1\u30bf\u30fc\u30f3<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"\u3010\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3011Bridge\u30d1\u30bf\u30fc\u30f3\n#TechCommit\n","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[225,3],"tags":[226],"class_list":["post-4737","post","type-post","status-publish","format-standard","hentry","category-225","category-3","tag-226"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8SDbY-1ep","jetpack-related-posts":[{"id":6620,"url":"https:\/\/taki-lab.site\/bocci\/?p=6620","url_meta":{"origin":4737,"position":0},"title":"\u3010\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3011Mediator\u30d1\u30bf\u30fc\u30f3","author":"taki","date":"2021\u5e747\u670825\u65e5","format":false,"excerpt":"\u8907\u6570\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8(Colleague)\u306e\u5236\u5fa1\u3092\u884c\u3046\u306e\u306bMediator\u30af\u30e9\u30b9\u3092\u4f5c\u6210\u3057\u3001\u3053\u308c\u3092\u4ecb\u3057\u3066\u2026","rel":"","context":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","block_context":{"text":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","link":"https:\/\/taki-lab.site\/bocci\/?cat=225"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4822,"url":"https:\/\/taki-lab.site\/bocci\/?p=4822","url_meta":{"origin":4737,"position":1},"title":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3011Decorator\u30d1\u30bf\u30fc\u30f3","author":"taki","date":"2020\u5e7412\u670831\u65e5","format":false,"excerpt":"Decorator\u30d1\u30bf\u30fc\u30f3\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u3059\u3002 package org.example.decor\u2026","rel":"","context":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","block_context":{"text":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","link":"https:\/\/taki-lab.site\/bocci\/?cat=225"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8346,"url":"https:\/\/taki-lab.site\/bocci\/?p=8346","url_meta":{"origin":4737,"position":2},"title":"\u3010\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3011Template Method\u30d1\u30bf\u30fc\u30f3","author":"taki","date":"2022\u5e745\u670815\u65e5","format":false,"excerpt":"Template Method\u30d1\u30bf\u30fc\u30f3\u306f\u3001\u6c7a\u307e\u308a\u5207\u3063\u3066\u3044\u308b\u51e6\u7406\u3092\u7e70\u308a\u8fd4\u3057\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u30d1\u30bf\u30fc\u30f3\u2026","rel":"","context":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","block_context":{"text":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","link":"https:\/\/taki-lab.site\/bocci\/?cat=225"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4554,"url":"https:\/\/taki-lab.site\/bocci\/?p=4554","url_meta":{"origin":4737,"position":3},"title":"\u3010\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3011AbstructFACTORY\u30d1\u30bf\u30fc\u30f3","author":"taki","date":"2020\u5e7411\u670813\u65e5","format":false,"excerpt":"AbstructFactory\u30d1\u30bf\u30fc\u30f3\u306e\u30b3\u30fc\u30c9\u4f8b\u3067\u3059\u3002 package org.example.ab\u2026","rel":"","context":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","block_context":{"text":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","link":"https:\/\/taki-lab.site\/bocci\/?cat=225"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4776,"url":"https:\/\/taki-lab.site\/bocci\/?p=4776","url_meta":{"origin":4737,"position":4},"title":"\u3010\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3011Composite\u30d1\u30bf\u30fc\u30f3","author":"taki","date":"2020\u5e7412\u670824\u65e5","format":false,"excerpt":"Composite\u30d1\u30bf\u30fc\u30f3\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u3059\u3002 package org.example.compo\u2026","rel":"","context":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","block_context":{"text":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","link":"https:\/\/taki-lab.site\/bocci\/?cat=225"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4588,"url":"https:\/\/taki-lab.site\/bocci\/?p=4588","url_meta":{"origin":4737,"position":5},"title":"\u3010\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3011Builer\u30d1\u30bf\u30fc\u30f3","author":"taki","date":"2020\u5e7411\u670819\u65e5","format":false,"excerpt":"Builder\u30d1\u30bf\u30fc\u30f3\u306e\u30b3\u30fc\u30c9\u4f8b\u3067\u3059\u3002 package org.example.builder; p\u2026","rel":"","context":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","block_context":{"text":"\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3","link":"https:\/\/taki-lab.site\/bocci\/?cat=225"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts\/4737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4737"}],"version-history":[{"count":1,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts\/4737\/revisions"}],"predecessor-version":[{"id":4738,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts\/4737\/revisions\/4738"}],"wp:attachment":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}