设计模式原则

1.单一职责原则

定义:就一个类而言,应该仅有一个引起它变化的原因。

生活中例子:就像我们的手机一样,他有很多的功能,可以玩游戏、拍照、听音乐等等。就单单拍照而言,他却比不上照相机。这就引申到代码,一块代码只做一件事。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。

 

2.开闭原则

定义:对软件实体(类、模块、函数等等)应该是可以扩展,但是不可修改。

特征:对于扩展是开放的,对于更改是封闭的。

这样讲还是有写笼统,通俗的讲,可以理解为:你设计的时候,时刻要考虑,尽量让这个类足够好,写好了就不要在修改了,如果新需求来,我们增加一些类就可以了,原来的代码不要动。但是,不可以一个类写完之后是不变的,所以要在刚开始设计的时候,把那些可能会变化的点创建抽象类进行隔离。

好处:开闭原则是面向对象设计的核心,遵循这个原则,带来可维护、可扩展、可复用、灵活性好。

 

3.依赖倒转原则

定义:抽象不应该依赖细节,细节应该依赖于抽象,大白话就是,针对接口编程,不要对实现编程。(A.高层模块不应该依赖底层模块,两个都应该是依赖抽象;B.抽象不应该依赖细节。细节应该依赖抽象。)

谈谈我的理解,我们写的代码依赖mysql数据库jar包,如果想要换一个数据库,之前写的方法全没用了,但是如果我们是针对数据库的接口来编程,子类实现不同就罢了。

就好比电脑一样,CPU、内存、硬盘这些,厂家在设计的时候,会把相应的卡槽给设计出来,无论是什么牌子的内存,只要卡槽对准就可以使用了。

 

4.里氏替换原则

定义:子类型必须能够替换掉他们的父类。

一句话,就是面向接口编程。

 

5.迪米特法则

定义:如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

 

posted @   WXY_WXY  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示