java设计模式
解析设计模式
Breath57
问题是最好的学习入口,而爱提问的内核,则是出现无限学习入口的喷泉。—— Breath
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
开闭原则-快速理解
定义 一个软件实体入,如类模块和函数应该对扩展开放,对修改关闭。我们应该把注意力集中在扩展开放和修改关闭这两个行为上。 扩展开放:可以扩展实现的细节,增加新的功能。 修改关闭:不修改原先定义的规则,尽量不修改源代码。 同时准寻这两个行为,即为遵循开闭原则。 开闭原则是面向对象设计中最基础的设计原则。 就比如:一个公司的上班时间是8小时,但是去上班的时间可以任意,早去上班早下班,晚去晚下班,只要满8...原创 2019-08-29 23:27:20 · 631 阅读 · 0 评论 -
依赖倒置原则-快速理解
定义 高层模块不应该依赖底层模块,二者都应该依赖其抽象 抽象不应该依赖细节;细节应该依赖抽象 针对接口编程,不要针对实现编程 很多人可能看到这里就蒙了,什么是高层模块?底层模块?细节具体指什么?依赖抽象? 那么我来解释一下 举例:比如超人 Class extends 人类 ,人类 implements动物类接口,那么人类就是高层模块,也就是相对于前面的类,更为具体的类。 高层模块: 一个类,...原创 2019-08-30 11:58:37 · 465 阅读 · 0 评论 -
单一职责原则-快速理解
定义 不要存在多余一个导致类变更的原因 一个类/接口/方法只负责一项职责 怎么理解? 尽量降低类间,方法间,接口间的耦合。 假设场景:(注意:这里说的任务是,独立开来是没有任何联系的)把多个任务 压到一个人身上,那样他会很累,而且,一个人,只能在同一时刻,做一件事,如果其中一件事没做好,就会影响没做完的事情的进度,或者因为心情不好,做后面的事情就变慢了,或者不想做了。(这么说,多个任务给一个...原创 2019-09-01 22:46:38 · 465 阅读 · 0 评论 -
接口隔离原则-快速理解
定义 用多个专门的接口,而使用单一的总接口,客户端不应该依赖它不需要的接口 一个类对一个类的依赖应该建立在最小的接口上 建立单一接口,不要建立庞大臃肿的接口 尽量细化接口,接口中的方法尽量少 注意 适度原则,一定要适度!!!否则,导致接口过多,复杂不好管理 优点 符合我们常说的高内聚,低耦合的设计思想,从而使得类具有很好的可读性、可扩展性和可维护性 例子 场景: 有一个 interface 具...原创 2019-09-02 22:04:37 · 555 阅读 · 0 评论 -
里氏替换原则-快速理解
定义 里氏替换原则(Liskov Substitution Principle, LSP):所有引用父类的地方必须能使用其子类的对象。 怎么理解? 来个例子 class A { } class B extends A{ } class C { // void func(A a) { // // } //以上使用了A 类, 那必须要保证,保证什么呢? 保证替换成以下代码, 在任何情...原创 2019-09-03 20:32:15 · 790 阅读 · 0 评论 -
迪米特原则(最少知道原则)-快速理解
定义 一个对象应该对其他对象保持最少的了解。 狭义的迪米特法则: 如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一类的某一个方法的话,可以通过第三者转发这个调用。 广义的迪米特法则: 一个模块设计的好坏的一个重要标志就是该模块在多大程度上讲自己的内部数据与实现的有关细节隐藏起来。 一个软件实体应当尽可能少的与其他实体发生相互作用。 每一个软件单位对...原创 2019-09-04 10:23:16 · 4042 阅读 · 0 评论
分享