自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蓝骆马

君子求诸己,小人求诸人。

  • 博客(6)
  • 收藏
  • 关注

原创 六大设计原则 ——迪米特法则

通俗的讲 ,一个类应该对自己需要耦合或调用的类知道得最少,你的内部是如何复杂都和我没关系,那是你的事,我就知道你提供了这么多public方法,我就调用这么多,其他的我一概不关心。一个类只和朋友交流,不与陌生类交流,不要出现getA().getB().getC()这种情况,类与类之间的关系是建立在类间的,而不是访问间的,因此一个方法尽量不引入一个类中不存在的对象。每个对象都比如会与其他对象有耦合关系,两个对象之间的耦合就成为朋友关系,这种关系的类型有很多,例如组合、聚合、依赖等。2.朋友间也是有距离的。

2022-10-14 15:56:48 194

原创 六大设计原则 ——接口隔离原则

接口隔离原则和单一职责原则好像有相似性,但接口隔离原则与单一职责的审视角度是不相同,单一职责要求的是类和接口职责单一,注重职责,这是业务逻辑上的划分,而接口隔离原则要求接口的方法尽量少。例如一个接口的职责可能包含10个方法,这是个方法都在一个接口中,并且提供多个多个模块访问,各个模块按规定的权限来访问,在系统外通过文档约束“不使用的方法不要访问”,按照单一职责原则是允许的,按照接口隔离原则是不允许的,因为要求“尽量使用多个专门的接口”。接口的设计粒度越小,系统越灵活,这是不争的事实。

2022-10-13 16:52:14 254

原创 六大设计原则 ——依赖倒置原则

到底什么是“倒置”呢?我们先说“正置”是什么意思,依赖正置就是类间的依赖是实实在在的实现类间的依赖,也就是面向实现编程,这是正常人的思维方式,我要开奔驰车就依赖奔驰车,我要使用笔记本就直接依赖笔记本,而编写程序需要的是对现实世界的事物进行抽象,抽象的结果就是有了抽象类和接口,然后我们根据系统设计的需要产生了抽象间的依赖,代替了人们传统思维中的事物间的依赖,“倒置”就是从这产生的。总结:精髓就是面向接口编程。

2022-10-13 15:09:43 393

原创 六大设计原则 ——里氏替换原则

里氏替换原则通俗的讲只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本不需要知道是父类还是子类。但是,反过来就不行了,有子类出现的地方,父类未必就能适应。3.覆盖或实现父类的方法时输入参数可以被放大。4.覆写或实现父类的方法时输出结果可以被缩小。里氏替换原则为良好的继承定义了一个规范。1.子类必须完全实现父类的方法。2.子类可以有自己的个性。

2022-10-13 13:23:12 195

原创 六大设计原则 ——单一职责原则

生搬硬套单一职责原则会引起类的剧增,给维护带来很多麻烦,而且过分细分类的职责也会认为增加系统的复杂性。本来一个类可以实现的行为硬要拆成两个类,然后再聚合或者组合的方式耦合在一起,人为制造了系统的复杂性。古人的中庸思想,确实是高级智慧。单一职责原则适用于接口,类,同时也适用于方法。方法职责不清晰,不单一,不要让别人猜这个方法可能是用来处理什么逻辑的。单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类设计得是否优良,但是“职责”和“变化原因”都是不可度量的,因项目而异,因环境而异。

2022-10-12 16:31:24 219

原创 变与不变 ——我们为什么需要设计模式?

软件设计模式是一套理论,由软件界的先辈总结出的一套可反复使用的经验,它可以提高代码的可用性,增强系统的可维护性,以及解决一系列复杂问题。设计模式不是工具,它是软件开发的哲学,它指导你如何设计一个优秀的架构、编写一段健壮的代码,解决一个复杂的需求。没有工作经验的积累是不可能做到真正理解设计模式的,这就像我们小时候看西游记觉得女儿国是唐僧最简单的一难,因为这一关没有妖怪。设计模式的思想依然是软件设计的指导思想,这并非一个百家争鸣的时代,而是我们一直享受前人的智慧直到今天。才明白女儿国才是唐僧最难过的一关。

2022-10-12 16:28:49 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除