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

面相对象6大原则

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

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

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

 

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

将很多的if else改成for

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

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

 4, 适配器

springmvc适配器处理controlller  循环判断如果适配器支持处理请求  则直接返回         提供servlet的适配器处理servlet请求   兼容

 

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

软件维护成本大

posted @ 2019-04-03 15:19  song123666  阅读(155)  评论(0编辑  收藏  举报