设计模式与面向对象编程原则

面相对象6大原则

1 单一职责
只有一个原因引起类的变化
接口尽量单一 实现类单一可能累的数量增多 反而不易维护 增加耦合

2 里式替换 LSP
能用父类的的地方就能用子类,不引起任何错误
即子类需要重写所有的父类方法
增加子类 不影响原来的运行 参数是父类类型

3 依赖倒置原则
依赖接口 不依赖类 降低与具体实现的耦合
4 接口隔离
接口尽量细化 即方法少
5 迪米特
类尽量少调用其他的类
6 开闭
对扩展开放 对修改关闭
即改动项目尽量不要改代码 而是加代码
这个是根本原则,其他5个可以说是具体的实现或策略

设计模式
1,策略模式
策略接口a 实现类 a1a2a3 放策略的类Context 参数接收类型为a
具体的使用者直接传实现类型即可(new Context(new a1())) 增加a4a5只需要修改Context即可

2,工厂模式
和这个很像,工厂生产对象,讲class c传递过去 利用反射生成对象并返回。

3,代理模式
讲实际类型对象传递过来 表面是代理类型做事 实际是实际类型对象在执行代码

总之,编程要面向接口,增加程序的可扩展性(就是方便改同时不影响已有的功能),高内聚低耦合这些软件工程的理论知识

猜你喜欢

转载自www.cnblogs.com/song-9527/p/10649068.html