{"id":7131,"date":"2023-03-05T17:13:28","date_gmt":"2023-03-05T09:13:28","guid":{"rendered":"https:\/\/1989lifejourney.com\/?p=7131"},"modified":"2024-02-16T18:11:10","modified_gmt":"2024-02-16T10:11:10","slug":"%e7%89%a9%e4%bb%b6%e5%b0%8e%e5%90%91%e7%a8%8b%e5%bc%8f%e8%a8%ad%e8%a8%885%e9%a0%85%e5%9f%ba%e6%9c%ac%e5%8e%9f%e5%89%87-solid","status":"publish","type":"post","link":"https:\/\/1989lifejourney.com\/?p=7131","title":{"rendered":"\u7269\u4ef6\u5c0e\u5411\u7a0b\u5f0f\u8a2d\u8a085\u9805\u57fa\u672c\u539f\u5247 &#8211; SOLID"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>SOLID\u76ee\u7684<\/strong><\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>SOLID\u4e94\u9805\u539f\u5247<\/strong><\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Single Responsibility Principle\u8aaa\u660e<\/strong><\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Open\/Close Principle\u8aaa\u660e<\/strong><\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Liskov Substitution Principle\u8aaa\u660e<\/strong><\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Interface Segregation Principle(ISP)\u8aaa\u660e<\/strong><\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Dependency Inversion Principle(DIP)\u8aaa\u660e<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading has-medium-font-size\"><strong>\u76ee\u7684\uff1a<\/strong><\/h4>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">\u5beb\u51fa<strong>\u597d\u7dad\u8b77<\/strong>\u3001<strong>\u6613\u64f4\u5145<\/strong>\u7684\u7a0b\u5f0f\u67b6\u69cb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">SOLID\u4e94\u9805\u539f\u5247:<\/h4>\n\n\n\n<ul class=\"has-medium-font-size wp-block-list\">\n<li><strong>S<\/strong>ingle Responsibility Principle<\/li>\n\n\n\n<li><strong>O<\/strong>pen\/Close Principle<\/li>\n\n\n\n<li><strong>L<\/strong>iskov Substitution Principle<\/li>\n\n\n\n<li><strong>I<\/strong>nterface Segaration Principle(ISP)<\/li>\n\n\n\n<li><strong>D<\/strong>ependency Inversion Principle(DIP)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Single Responsibility Principle\uff08SRP)<\/strong><\/td><\/tr><tr><td>\u5b9a\u7fa9: \u6bcf\u4e00\u500bclass\u53ea\u8ca0\u8cac\u4e00\u9805\u529f\u80fd<br>\u76ee\u7684: \u6e1b\u5c11\u4e0d\u5fc5\u8981\u7684\u4fee\u6539<br>\u4f7f\u7528\u524d\u63d0: In code<br>\u4f7f\u7528\u65b9\u5f0f: \u64b0\u5beb\u6642\uff0c\u76e1\u91cf\u9075\u5b88\u6b64\u539f\u5247<br>\u4f8b\u5b50:<br>\u5c0d\u7684\u4f8b\u5b50\u3001\u932f\u7684\u4f8b\u5b50<\/td><\/tr><tr><td><strong>Open\/Close Principle(OCP)<\/strong><\/td><\/tr><tr><td>\u5b9a\u7fa9: \u958b\u653e\u64f4\u5145\uff0c\u5c01\u9589\u4fee\u6539<br>\u76ee\u7684: \u65b0\u589e\u529f\u80fd\u6642\uff0c\u4e0d\u5fc5\u6539\u820acode\u3002\u7dad\u8b77\u65e2\u6709\u529f\u80fd\u6642\uff0c\u4e0d\u6703\u5f71\u97ff\u5176\u4ed6class<br>\u4f7f\u7528\u524d\u63d0: In code<br>\u4f7f\u7528\u65b9\u5f0f: \u64b0\u5beb\u6642\uff0c\u76e1\u91cf\u9075\u5b88\u6b64\u539f\u5247<br>\u4f8b\u5b50:<br>\u5c0d\u7684\u4f8b\u5b50\u3001\u932f\u7684\u4f8b\u5b50<\/td><\/tr><tr><td><strong>Liskov Substitution Principle(LSP)<\/strong><\/td><\/tr><tr><td>\u5b9a\u7fa9: subclass\u4e00\u5b9a\u8981\u662fsuperclass\u7684subType<br>\u76ee\u7684: \u907f\u514d\u4fee\u6539\u7a0b\u5f0f\u7d50\u69cb\u6642\uff0c\u7522\u751f\u975e\u9810\u671f\u7684\u884c\u70ba\u6216\u72c0\u614b<br>\u4f7f\u7528\u524d\u63d0: in code<br>\u4f7f\u7528\u65b9\u5f0f: \u64b0\u5beb\u6642\uff0c\u76e1\u91cf\u9075\u5b88\u6b64\u539f\u5247<br>\u4f8b\u5b50:<br>\u5c0d\u7684\u4f8b\u5b50\u3001\u932f\u7684\u4f8b\u5b50(ex: \u6b63\u65b9\u5f62\u7e7c\u627f\u9577\u65b9\u5f62)<\/td><\/tr><tr><td><strong>Interface Segaration Principle(ISP)<\/strong><\/td><\/tr><tr><td>\u5b9a\u7fa9: client\u7aef\u4e0d\u61c9\u8a72\u4f9d\u8cf4\u5b83\u4e0d\u9700\u8981\u7684method<br>\u76ee\u7684: \u907f\u514d\u7522\u751f\u4e0d\u5fc5\u8981\u7684\u4f9d\u8cf4(p.s. \u770b\u4f9d\u8cf4\u95dc\u4fc2\u5c31\u53ef\u4ee5\u77e5\u9053\u9019\u500bclass\u80fd\u505a\u4ec0\u9ebc\/\u4e0d\u80fd\u505a\u4ec0\u9ebc)<br>\u4f7f\u7528\u524d\u63d0: in code<br>\u4f7f\u7528\u65b9\u5f0f: \u64b0\u5beb\u6642\uff0c\u76e1\u91cf\u9075\u5b88\u6b64\u539f\u5247<br>\u4f8b\u5b50:<br>\u5c0d\u7684\u4f8b\u5b50\u3001\u932f\u7684\u4f8b\u5b50<\/td><\/tr><tr><td><strong>Dependency Inversion Principle(DIP)<\/strong><\/td><\/tr><tr><td>\u5b9a\u7fa9:<br>\u9ad8\u968emodule\u4e0d\u61c9\u8a72\u4f9d\u8cf4\u4f4e\u968emodule\u3002\u5169\u8005\u90fd\u61c9\u8a72\u4f9d\u8cf4\u65bc\u62bd\u8c61\u3002<br>\u62bd\u8c61\u4e0d\u61c9\u8a72\u4f9d\u8cf4\u65bc\u7d30\u7bc0\u3002\u7d30\u7bc0\u61c9\u8a72\u4f9d\u8cf4\u65bc\u62bd\u8c61\u3002<br>\u76ee\u7684: \u907f\u514d\u7522\u751f\u4e0d\u5fc5\u8981\u7684\u4f9d\u8cf4<br>\u4f7f\u7528\u524d\u63d0: in code<br>\u4f7f\u7528\u65b9\u5f0f: \u64b0\u5beb\u6642\uff0c\u76e1\u91cf\u9075\u5b88\u6b64\u539f\u5247<br>\u4f8b\u5b50:<br>\u5c0d\u7684\u4f8b\u5b50\u3001\u932f\u7684\u4f8b\u5b50<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ref:<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.jyt0532.com\/2020\/03\/22\/lsp\/\">https:\/\/www.jyt0532.com\/2020\/03\/22\/lsp\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u300c<a href=\"https:\/\/www.books.com.tw\/products\/0010933352?gclid=CjwKCAiAmJGgBhAZEiwA1JZoloYYj7VImlavyI9n3ajSFICc1ZUSW7Zk1y4mkgCQrXFFGfH46FkufBoCT8sQAvD_BwE\">7\u5929\u5b78\u6703\u8a2d\u8a08\u6a21\u5f0f\uff1a\u8a2d\u8a08\u6a21\u5f0f\u4e5f\u53ef\u4ee5\u9019\u6a23\u5b78<\/a>\u300d\u4e00\u66f8<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u76ee\u7684\uff1a \u5beb\u51fa\u597d\u7dad\u8b77\u3001\u6613\u64f4\u5145\u7684\u7a0b\u5f0f\u67b6\u69cb SOLID\u4e94\u9805\u539f\u5247: Single Responsibility Pri [&hellip;]<\/p>\n","protected":false},"author":139426785,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_postgate_lock_override":"inherit","_postgate_lock_mode":"inherit","_postgate_preview_mode":"inherit","_postgate_preview_limit":0,"_postgate_product_ids":[],"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[36769,11176,55138170,1],"tags":[],"post_folder":[],"class_list":["post-7131","post","type-post","status-publish","format-standard","hentry","category-design-pattern","category-software-engineering","category-technology-sharing","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paR5vw-1R1","jetpack-related-posts":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts\/7131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/users\/139426785"}],"replies":[{"embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7131"}],"version-history":[{"count":26,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts\/7131\/revisions"}],"predecessor-version":[{"id":9829,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts\/7131\/revisions\/9829"}],"wp:attachment":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7131"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpost_folder&post=7131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}