![](https://img-blog.csdnimg.cn/91d14713938645e7978a526f1d404062.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
《设计模式之禅》
读书笔记
蓝骆马
这个作者很懒,什么都没留下…
展开
-
六大设计原则 ——接口隔离原则
接口隔离原则和单一职责原则好像有相似性,但接口隔离原则与单一职责的审视角度是不相同,单一职责要求的是类和接口职责单一,注重职责,这是业务逻辑上的划分,而接口隔离原则要求接口的方法尽量少。例如一个接口的职责可能包含10个方法,这是个方法都在一个接口中,并且提供多个多个模块访问,各个模块按规定的权限来访问,在系统外通过文档约束“不使用的方法不要访问”,按照单一职责原则是允许的,按照接口隔离原则是不允许的,因为要求“尽量使用多个专门的接口”。接口的设计粒度越小,系统越灵活,这是不争的事实。原创 2022-10-13 16:52:14 · 143 阅读 · 0 评论 -
六大设计原则 ——迪米特法则
通俗的讲 ,一个类应该对自己需要耦合或调用的类知道得最少,你的内部是如何复杂都和我没关系,那是你的事,我就知道你提供了这么多public方法,我就调用这么多,其他的我一概不关心。一个类只和朋友交流,不与陌生类交流,不要出现getA().getB().getC()这种情况,类与类之间的关系是建立在类间的,而不是访问间的,因此一个方法尽量不引入一个类中不存在的对象。每个对象都比如会与其他对象有耦合关系,两个对象之间的耦合就成为朋友关系,这种关系的类型有很多,例如组合、聚合、依赖等。2.朋友间也是有距离的。原创 2022-10-14 15:56:48 · 123 阅读 · 0 评论 -
六大设计原则 ——依赖倒置原则
到底什么是“倒置”呢?我们先说“正置”是什么意思,依赖正置就是类间的依赖是实实在在的实现类间的依赖,也就是面向实现编程,这是正常人的思维方式,我要开奔驰车就依赖奔驰车,我要使用笔记本就直接依赖笔记本,而编写程序需要的是对现实世界的事物进行抽象,抽象的结果就是有了抽象类和接口,然后我们根据系统设计的需要产生了抽象间的依赖,代替了人们传统思维中的事物间的依赖,“倒置”就是从这产生的。总结:精髓就是面向接口编程。原创 2022-10-13 15:09:43 · 221 阅读 · 0 评论 -
六大设计原则 ——里氏替换原则
里氏替换原则通俗的讲只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本不需要知道是父类还是子类。但是,反过来就不行了,有子类出现的地方,父类未必就能适应。3.覆盖或实现父类的方法时输入参数可以被放大。4.覆写或实现父类的方法时输出结果可以被缩小。里氏替换原则为良好的继承定义了一个规范。1.子类必须完全实现父类的方法。2.子类可以有自己的个性。原创 2022-10-13 13:23:12 · 109 阅读 · 0 评论 -
六大设计原则 ——单一职责原则
生搬硬套单一职责原则会引起类的剧增,给维护带来很多麻烦,而且过分细分类的职责也会认为增加系统的复杂性。本来一个类可以实现的行为硬要拆成两个类,然后再聚合或者组合的方式耦合在一起,人为制造了系统的复杂性。古人的中庸思想,确实是高级智慧。单一职责原则适用于接口,类,同时也适用于方法。方法职责不清晰,不单一,不要让别人猜这个方法可能是用来处理什么逻辑的。单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类设计得是否优良,但是“职责”和“变化原因”都是不可度量的,因项目而异,因环境而异。原创 2022-10-12 16:31:24 · 115 阅读 · 0 评论 -
变与不变 ——我们为什么需要设计模式?
软件设计模式是一套理论,由软件界的先辈总结出的一套可反复使用的经验,它可以提高代码的可用性,增强系统的可维护性,以及解决一系列复杂问题。设计模式不是工具,它是软件开发的哲学,它指导你如何设计一个优秀的架构、编写一段健壮的代码,解决一个复杂的需求。没有工作经验的积累是不可能做到真正理解设计模式的,这就像我们小时候看西游记觉得女儿国是唐僧最简单的一难,因为这一关没有妖怪。设计模式的思想依然是软件设计的指导思想,这并非一个百家争鸣的时代,而是我们一直享受前人的智慧直到今天。才明白女儿国才是唐僧最难过的一关。原创 2022-10-12 16:28:49 · 138 阅读 · 0 评论