目录
- 前言
- 一、单一职责原则(SingleResponsibilityPrinciple,SRP)
- 二、开闭原则(Open-ClosedPrinciple,OCP)
- 三、里氏代换原则(LiskovSubstitutionPrinciple,LSP)
- 四、依赖倒换原则(DependenceInversionPrinciple,DIP)
- 五、接口隔离原则(InterfaceSegregationPrinciple,ISP)
- 六、合成复用原则(CompositeReusePrinciple,CRP)
- 七、迪米特法则(LawofDemeter,LoD)
前言
学习设计模式的方法:掌握理解七大原则以及其目的,学习相应的设计模式(带着设计目的,应用场景(解决什么样的问题),如何实现(编码实现一个小例子),优缺点是什么?等等)

一、单一职责原则(SingleResponsibilityPrinciple,SRP)
定义:一个类只负责一个功能领域中的相应职责
理解:该设计模式很好理解,就是一个类只实现某个领域的相应职责,这样有利于进行调用。就比如在Java开发时,设计controller、service、manager、dao层一样的道理,进行分层分工,再和生活贴近一点,人们在社会中也是更加各有所长进行职责分工协调更好地运行社会。
例子:可能在刚开始学习Java进行课设设计时,可能会将DB连接,图表展示都放在一个类里面,这样导致该类就比较冗杂。为了遵循该原则应该将其分解为DBUtil和ChartDisplay两个类。
二、开闭原则(Open-ClosedPrinciple,OCP)
定义:软件实体应对扩展开放,而对修改关闭
理解:刚开始看到该原则定义,其实有点懵,然后结合例子就很容易明白了。其意思就是当该类需要进行拓展(比如说添加一个新功能(方法))是可以的,但进行修改某功能则不可以。怎么实现呢?那就得看下个里氏代换原则了。不过目的还是为了拓展,维护。
例子:假设需要展示不同图表,你采用传入type参数去控制展示何种图表,那么当你拓展时,就需要添加新的判断比较,进行了修改,破坏了原类。不符合该原则,改进办法,使用抽象类或者接口进行拓展。
三、里氏代换原则(LiskovSubstitutionPrinciple,LSP)
定义:所有引用基类对象的地方能够透明地使用其子类的对象
理解:简单地说,就是接口(基类、抽象类)进行定义,子类进行动态实现。便于(2)的原则实现。
例子:以下如service包中进行接口定义,然后…impl实现,再在controller中进行基类接口声明定义,最后在实际使用中进行动态调用。
四、依赖倒换原则(DependenceInversionPrinciple,DIP)
定义:抽象不应该依赖于细节,细节应该依赖于抽象
理解:也就是面向接口编程,应该先进行接口定义该业务需要哪些方法,也可以适当书写步骤,然后再在实现类里面进行细节完善。
例子:如下,就是先把接口写好(明确业务),然后实现类进行具体实现。
五、接口隔离原则(InterfaceSegregationPrinciple,ISP)
定义:使用多个专门的接口,而不使用单一的总接口
理解:和单一原则大同小异,就是针对的对象不同,一个是类一个是接口。在此方面深有感触,刚开始时进行编写接口基本上按一个功能模块(比如说登录一模块,支付一模块,新闻一模块)一个接口,后面维护时发现找相应具体功能点就比较麻烦了,而且实现类里面十分庞杂(几百行代码看重都头疼)。
六、合成复用原则(CompositeReusePrinciple,CRP)
定义:尽量使用对象组合,而不是继承来达到复用的目的
理解:复用时应该多用关联,少用继承。不过感觉一般习惯性就关联复合吧,没什么好讲的。
七、迪米特法则(LawofDemeter,LoD)
定义:一个软件实体应当尽可能少地与其他实体发生相互作用。
理解:为了避免修改该类后影响其他类(不过IDEA报错工具很强大也不要怕哈哈哈。),应该让此类尽可能不与其他类发生关联,主要有其他类构造注入,参数注入,依赖注入等。在设计时,多考虑有没有必要加入引用,是否可以设计一个中间类去管理。
相关推荐:
什么是seo的豆子,何为seo ,ai圆复制
AI搜索写文章:一丝丝智慧背后的无限可能,电脑免费ai写作神器
seo网赚什么意思,网站seo赚钱 ,ai打不开ai
SEO检测,让网站排名飞升的秘密武器,高端快消食品营销推广
AI搜索写文章是什么意思?人工智能赋能内容创作的未来,高德地图 ai
AI的两个主要发展阶段:从起步到突破,如何重塑未来,wps ai写作去哪里
为什么选择老域名注册,打造品牌价值的秘密武器,网站建设服务费用多少
seo要学什么语言,做seo需要什么语言 ,ai martino
SEO主要是为网站引流吗?深入解析SEO的核心价值,AI算算
Bing无法使用怎么办?解决方法及替代方案推荐!,ai文字设计教程
WPJVX:开启数字化未来的智慧平台,关键词排名技术咨询乐云seo
seo软件工具,seo软件是什么 ,AI妆容
ChatGPT无法使用?了解原因及解决方法,轻松恢复智能对话体验!,ai满版图案
seo用什么论坛引流,seo引流方法 ,ai写作续写神器
怎么用AI生成文章?全新写作方式的揭秘与应用指南
seo要学什么技术,seo要学什么技术好 ,ai.fale
seo相关知识是什么,seo相关技术 ,ai写作讯飞星火认知大模型
ChatGPT不能加载过去的对话,如何提升你的使用体验?,ai智能衣服
ChatGPT支持多种语言输入输出,让全球资讯触手可及,联想拯救者的ai写作
为什么行业都要做seo,为什么要做seo ,ai明信片
SEO场景下的数字营销:如何通过精准优化提升网站流量,陕西融发建设集团网站
揭开“好的AI软件”背后的秘密:让生活和工作更智能的利器
AI免费写文:创作新时代的高效助手
AI免费生成文字,打造创作新时代
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
SEO兼职:如何通过SEO兼职实现收入增长与职业突破,濮阳网站建设官网
为什么要seo排名,为什么要做seo推广 ,AI写作开启创意新世界
SEO词的魔力:如何通过关键词优化打破流量瓶颈,免费网站建设高端
优排软件:高效管理新天地,轻松提升工作效率,长葛外贸网站建设
ChatGPT页面空白不乏登录:让你秒变职场高手与生活智囊,百度ai 腾讯ai
AI智能时代的到来:如何利用人工智能推动生活与商业创新,ai相册下载
OpenAIGPTChatSoraOpenAIChatGPT服务在中断数小时后已恢复,ai视图线稿
seo网站排名优化哪家好,seo网站优化平台 ,ai斗蟋
为什么“未备案域名”会成为互联网行业中的重要问题?,江干区seo优化价格
未来工作方式!AI在线工具让效率倍增,工作变轻松
seo网站自学看什么书,seo技术适合自学吗 ,斑马ai阅读
优化综合:引领高效发展的智慧之道,电影营销的推广方式
优化整站,让网站飞速增长,打造行业竞争力,广东网站建设与维护
ChatGPT出问题?背后的原因与解决方案,夸克ai写作生成
SEO薪资这些,你也能月入过万!,天水网站建设公司
ChatGPT免费用户每天的使用限制:如何高效利用,突破困境!,花花制作ai
用AI征文工具,轻松创作出精彩文章!
360优化关键词-提升网站流量与排名的秘密武器,美拍ai
主题导航-引领互联网世界的智慧之路,大渡口网站建设方案
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
什么是seo发外链,seo外链类型有哪些 ,小小苏ai
SEO抓取:让您的网站从零到一的秘诀,佛山网站建设哪家效果好
seo需要什么人才,seo需要做什么工作 ,探索ai照片
ChatGPT回答问题,网页无法线下滚动?解决方案轻松get!,谷歌AI铃声
SEO快速排名实例:如何通过实战技巧提升网站排名,快速突破流量瓶颈,安徽ai跑步机企业