1.类之间的关系(uml类图)

依赖(方法引用)、关联(聚合、组合)、继承泛化、接口实现

2.设计模式的原则

单一原则、接口隔离、依赖|关联倒转、里氏替换、开闭原则、迪米特原则、合成复用原则

 

3.设计模式的分类及一句话概括

创建型类

3.1.单例模式

使用场景:一个类在当前的jvm中只有一个实例

实现方式:静态变量、静态代码块、懒加载线程不安全、懒加载+同步锁、懒加载+同步锁+volatile(推荐3🌟)、内部静态类(推荐4🌟)、枚举(推荐5🌟)

 

3.2.工厂模式

使用场景:一群可以倒转的类集合,可以方便的拿到想要的具体类

实现方法:简单工程、工厂方法、抽象工厂。类倒转,工厂也可以继续倒转。

 

3.3.原型模式

使用场景:想要快速复刻一个实例的当前状态

实现方法:jvm的cloneable浅复制 或序列化深度复制

 

3.4.建造者模式

使用场景:一个类有几种固定的处理方式可以集中到建造类

实现方法:建造类关联一个目标新实例,在建造类中对新实例做处理;建筑类倒转可以选择很多不同的建筑类;记得最后return处理完成的目标实例对象

 

3.5.适配模式

使用场景1:调用的目标方法不支持修改 但又要适配使用者

实现方法:类适配模式、对象适配模式;adapter继承或者关联调用的目标,再新增的方法内使用目标方法并增加自己的适配逻辑;adapter设计成倒转可以选择很多不同的适配类;

使用场景2: 我们在设计之初便想好了接口规范,让使用者可以灵活自己实现匿名内部类来自定义处理逻辑

实现方法:adapter继承一个抽象类,而抽象类实现定义的接口并空实现,adapter便可以随意重写任意方法(不还是倒转吗,只不过比单纯的倒转多了可选择实现的小技巧)

 

未完待续。。。。。

结构型类

行为型类

 

4.总结:

a.通过继承泛化抽象类、实现抽象接口的方式实现倒转,通过依赖、关联的方式实现注入

b.继承的耦合要大于关联,尽量避免使用继承(不是说倒转场景)

c.可以灵活使用泛型和反射

原文地址:http://www.cnblogs.com/xuetieqi/p/16847339.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性