最近准备面试的东西,就回顾了一下设计模式,准备开个新坑,maven还有基本命令(四)和冲突解决(五)还没写后面会补上。
设计模式不属于技术:属于一种套路和公认的经验,是判断你代码写的是否好的一种标准。
总原则:开闭原则 OCP
对扩展开放,对修改关闭,即程序需要扩展,不修改原有代码,而是要求扩展原有代码,实现一个热插拔的效果,需要使用接口和抽象类。
1.单一职责原则:
每个类负责单一职责,如果不是就应该对类进行拆分。
2.里氏替换原则:
父类可以出现的地方,子类也一定能出现。
3.依赖倒转原则:(DI原则:也叫依赖注入原则)
面向接口编程,依赖抽象而不依赖具体,即不与具体类交互,而与具体类的上层接口交互
4.接口隔离原则:
把接口拆分,用小接口代替大接口,实现只实现需要的方法。
现在可以使用新语法来实现这种原则。
public interfac Hello{ default void out(){ } void hello(); } class HHH implements Hello{ @Override public void hello(){ } }
由上述代码可以看出, out方法并没有在类HHH里面实现。
5.迪米特法则:最少知道原则
暴露出的功能,细节越少越好。
暴露必要的接口。
用户知道必须的东西就行了,不需要他们知道全部,主要是为了安全考虑。
6.合成复用原则
代替继承,尽量不要使用继承,使用对象。但是在某些时候也不能不用继承。