![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
RunMonster
要么颓废得像坨屎,要么认真得像个疯子!!
展开
-
行为型模式--责任链、命令、备忘录、状态、访问者、中介者模式(七)
备忘录模式定义:保存对象的某个状态,以便于在适当的时候恢复对象。(后悔药)适用场景:保存及恢复数据相关的业务场景。优点:为用户提供一种可恢复的机制,存档信息的封装。缺点:资源占用。调用统一的方法,打印日志。方便定位记录。public class StudyGroup { public static void showMessage(User user, Stri...原创 2020-02-05 14:57:28 · 105 阅读 · 0 评论 -
结构型模式--桥接模式,组合模式,享元模式(五)
享元模式定义:提供了减少对象数量从而改善应用所需对象结构的方式。运用共享技术有效地支持大量细粒度对象。适用场景:常用于系统底层的开发,以便于解决系统性能问题。系统有大量相似的对象、需要缓冲池的场景。优点:减少对象的创建,降低内存中对象数量,降低系统的内存,提高效率。缺点:关注内/外部状态、关注线程安全问题。使系统、程序的逻辑复杂化。理解:就是缓存重复利用的对象,多次使用的同一情...原创 2020-02-04 16:40:51 · 285 阅读 · 0 评论 -
Aop-静态代理-jdk动态代理-CGLIB动态代理(四)
/** * AOP:面向切面编程。 * 1.对业务逻辑的各个部分进行隔离 * 2.耦合度降低 * 3.提高程序的可重用性, * 4.同时提高了开发的效率 * 主要的功能: 日志记录,性能统计,安全控制,事务处理,异常处理 * 功能: 让关注点代码与业务代码分离!(关注点,重复代码就叫做关注点)(关注点形成的类,就叫切面(类)!) * 体现:代理模式 */其实所谓代理,就是一...原创 2019-04-07 14:10:58 · 147 阅读 · 0 评论 -
java反射 实际使用
实例化和负值 private void run() { String path = "com.gray.game.grayreflect.ReflectModel"; try { //获取对象实例 ReflectModel model = (ReflectModel) Class.forName(path...原创 2019-04-10 23:07:43 · 192 阅读 · 0 评论 -
创建型模式--单例模式、原型模式(二)
单例模式定义:保证一个类仅有一个实例,并提供一个全局访问的点。 适用场景:任何情况下都绝对只有一个实例。 优点:减少内存开销、避免对资源的多重占用、设置全局访问点,严格控制访问 缺点:没有接口,扩展困难。单例模式下记得添加私有构造器,防止被外部方法直接new创建。懒汉模式(线程不安全)public class LazySingleton { private stat...原创 2020-02-03 15:37:03 · 86 阅读 · 0 评论 -
行为型模式--策略、模板方法、观察者、迭代器、解释器(六)
行为型模式涉及怎样合理的设计对象之间的交互通信,以及怎样合理为对象分配职责,让设计富有弹性,易维护,易复用行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。策略模式定义:定义了算法家族,并将每一个算法封装起来,而且使它们还可以相互替换。(让算法变化不会影响使用算法的用户)适用场景:系...原创 2019-04-12 22:17:04 · 680 阅读 · 0 评论 -
结构型模式--适配器、装饰器、外观模式(三)
结构型模式涉及如何组合类和对象以形成更大的结构。继承的概念被用来组合接口和定义组合对象获得新功能的方式。结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。适配器模式定义:将一个类的接口转换成客户期望的另一个接口,使原本接口不兼容的类可以在一起工作。适用场景:已经存在的类,它的方法和需求不匹配时(方法结果相同或相似)优点:能提高类的透明...原创 2019-04-12 21:52:15 · 235 阅读 · 0 评论 -
创建型模式--工厂模式、抽象工厂、建筑者(一)
创建型模式涉及对象的实例化,特点是不让用户代码依赖于对象的创建或排列方式,避免用户直接使用new创建对象。设计模式的六大原则开闭原则 :对扩展开放,对修改关闭。(需要使用接口和抽象类)里氏代换原则:任何基类可以出现的地方,子类一定可以出现。(实现抽象化的具体步骤的规范,子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法)依赖倒转原则:针对接口编程,依赖于抽象而不依赖于具体...原创 2019-04-11 17:45:35 · 184 阅读 · 0 评论