设计模式原则
1.单一职责原则
定义:就一个类而言,应该仅有一个引起它变化的原因。
生活中例子:就像我们的手机一样,他有很多的功能,可以玩游戏、拍照、听音乐等等。就单单拍照而言,他却比不上照相机。这就引申到代码,一块代码只做一件事。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
2.开闭原则
定义:对软件实体(类、模块、函数等等)应该是可以扩展,但是不可修改。
特征:对于扩展是开放的,对于更改是封闭的。
这样讲还是有写笼统,通俗的讲,可以理解为:你设计的时候,时刻要考虑,尽量让这个类足够好,写好了就不要在修改了,如果新需求来,我们增加一些类就可以了,原来的代码不要动。但是,不可以一个类写完之后是不变的,所以要在刚开始设计的时候,把那些可能会变化的点创建抽象类进行隔离。
好处:开闭原则是面向对象设计的核心,遵循这个原则,带来可维护、可扩展、可复用、灵活性好。
3.依赖倒转原则
定义:抽象不应该依赖细节,细节应该依赖于抽象,大白话就是,针对接口编程,不要对实现编程。(A.高层模块不应该依赖底层模块,两个都应该是依赖抽象;B.抽象不应该依赖细节。细节应该依赖抽象。)
谈谈我的理解,我们写的代码依赖mysql数据库jar包,如果想要换一个数据库,之前写的方法全没用了,但是如果我们是针对数据库的接口来编程,子类实现不同就罢了。
就好比电脑一样,CPU、内存、硬盘这些,厂家在设计的时候,会把相应的卡槽给设计出来,无论是什么牌子的内存,只要卡槽对准就可以使用了。
4.里氏替换原则
定义:子类型必须能够替换掉他们的父类。
一句话,就是面向接口编程。
5.迪米特法则
定义:如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix