大话设计模式——面向对象五大(七大?)原则

大话设计模式——面向对象五大(七大?)原则_第1张图片

字面上就那个意思我也说不来。。

然后我自己的理解是:程序中都是倡导尽量减少if语句和各种嵌套,减少代码复杂度,也方面阅读,if语句一多,条件一多,这个类的变换原因不就多了,不知道是不是这样。。

比如一个人,米饭他吃,面他也吃,饺子他也吃,牛奶他也喝,某天他说他饱了,我根本不知道他到底吃了什么。。。这对于我去了解他来说是很吃力的。。而他吃的时候,他要判断这是牛奶就用喝的,是米饭他就拿勺子,是面他就拿筷子,各种判断,上帝创造了他,而我想要彻底去了解他,就算是只了解他吃这个行为,都不可能,太复杂了。。而如果说这个人只吃面,哪天他说他吃饱了,我肯定知道他吃了面。。


人算是一件成功又失败的作品了。。


大话设计模式——面向对象五大(七大?)原则_第2张图片

应该就是放开接口让你去拓展,但是我是有底线的,你必须按照我的规矩办事。。

比如USB接口,不管外面接入的U盘、键盘、鼠标还是风扇,只要按照接口来设计,我都让你使用。(也不知道对不对。。。)

再比如前面的运算接口Operation,如果你想要改字段肯定是不行,都是private,这就是对修改封闭,而我开放给你的getResult(),这是public,让你实现,让你拓展的。


意思就是你在调用父类对象的时候,直接把他替换成子类对象,程序还是一样好好的,这就说明你设计父类是杠杠的,要实现的话,你的子类必须尽量不要覆盖父类的方法


大话设计模式——面向对象五大(七大?)原则_第3张图片

这个在计算机那篇有说过了。。

反正就是高层调用底层都应该依赖抽象,就是面向接口编程,用子类的对象指向父类的引用,然后用父类的引用来调用方法,这样就能实现解耦了,底层只要依赖这个抽象进行更改,就不会影响到高层的调用,高层的修改也一样,只要用其父类的引用去调用方法。

(倒转的意思不知道是不是说现实生活中或者说正常思维中抽象是依赖细节的)


偷来的。。书里没写好像

这个我没碰见过,因为我在读这本书之前很少写接口。。大致意思应该就是,一个接口里面不要有太多方法要实现,是在太多应该分成多个接口,不然以后实现类的时候要崩溃,有些实现类根本不需要实现这么多方法(感觉这个原则比较没用,这算常识吧)


CARP or CRP 也是偷来的

不理解。。不敢写  看下面链接吧

LOD or LKP 还是偷来的

就是对象和对象之间应该少联系。。就像写工具类的时候,工具类A里头的方法需要工具B才能用,想想就不合理。

先将就着。。

还有呢。。。在下面链接吧

这里写的很清楚啊。。。

还有这里的,讲的贼好

你可能感兴趣的:(大话设计模式——面向对象五大(七大?)原则)