极客大学架构师训练营第二周课后总结
1)开闭原则:
定义:对扩展是开放的,对更改是关闭的。
自己的理解:不应该修改已经完成的类。
做法:
将类抽象出来一个接口,尽量依赖于这个接口进行开发。
使用策略模式,定义一个策略接口,一个类要调用另一个,就换成依赖这个策略接口。
使用适配器模式,在两个类之间定义一个适配器,适配器依赖与某个类的具体实现,实现了策略的接口,在第一个类调用的时候,传入的是一个适配器。
观察者模式,...。
2) 依赖倒置原则:
定义:高层模块不应该依赖低层模块,低层模块也不应该依赖高层模块,大家都应该依赖一个抽象,可以是一个接口,这个接口通常是属于高层模块的,高层模块来定义,低层模块来实现。
自己的理解:根据要实现的功能,先抽象出接口,然后根据接口进行开发。而不是先开发了实现,在根据实现抽离出来一个接口供高层调用。
用途:指导软件框架开发。如servlet、spring。框架去调用我们的代码,但不依赖我们的代码,它依赖高层的抽象,而我们的代码不会去调用框架。
3) 里氏替换原则:
继承一般判断:子类is a父类。
定义:解决继承问题,在一个程序中,如果子类替换了父类而没有问题,那么子类对父类的继承就是合理的。
自己的理解:在方法执行中,有用到父类的时候,用子类去替换父类,没问题继承就是合理的。
4) 接口隔离原则(内聚性):
定义:不应该强迫客户程序依赖它们不需要的方法。
自己理解:接口应该从使用的角度出发,不要把其他不涉及的方法放进来。
5) 单一职责原则(内聚性原则):
定义:一个类只有一个引起它变化的原因(职责)。
自己理解:一个类应该就做一种事。
用法:在实际应用中,类的设计尽量做到只有一个原因引起变化,接口一定要做到单一职责原则,方法一定要做到单一职责原则,即一个方法只实现一个功能。
评论