设计模式
1024个秘密
好好工作,好好学习,好好生活。
展开
-
设计模式
设计模式 总结前人经验,为自己所用; 更好的解决新问题; 培养将业务需求转成技术实现的能力; 解耦; 设计模式的七大原则 开闭原则:对扩展开放,对修改关闭; 单一指责原则:约定一个类、一个接口、一个方法只做一件事情保证单一性和纯洁性; 依赖倒置原则:通过抽象的接口/类使得类/模块之间相互不影响,实现松耦合; 接口隔离原则:尽量保证接口的纯洁性,不依赖不需要的接口; 迪米特原则(最少依赖原则):一个...原创 2019-06-23 16:32:41 · 84 阅读 · 0 评论 -
设计模式之观察者模式
一、基本概念 观察者模式定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,当主体对象发生变化的时候,它的所有的依赖者(观察者)都会收到通知并更新,属于行为型模式。 观察者模式有时也叫发布订阅模式。 二、生活实例 消息通知 三、代码示例 3.1 JDK方式 /** * @description:JDK提供的观察者的实现方式 * @author: annecheng,2019-0...原创 2019-07-14 16:45:17 · 104 阅读 · 0 评论 -
设计模式之装饰者模式
一、基本概念 装饰者模式是指在不改变元有对象的基础之上,将功能附加对象上,提供了比集成更有弹性的替代方案(扩展原有对象功能),属于结构型模式。 适用场景: 1、用于扩展一个类的功能或者给一个类增加职责。 2、动态的给一个对象添加功能,这些功能也可以动态的撤销掉。 二、生活实例 煎饼果子加火腿加鸡蛋还是煎饼果子。 三、代码实例 /** * @description:煎饼果子基础套餐 * @au...原创 2019-07-14 16:40:14 · 148 阅读 · 0 评论 -
设计模式之适配器模式
一、基本概念 适配器模式是指将一个类的接口转换成客户期望的另一个接口,使得原本的接口不兼容的类可以一起工作。 属于结构型设计模式。 使用场景: 1、已经存在的类,它的方法和需求不匹配(方法结果相同或相似)的情况。 2、适配器模式不是软件设计阶段需要考虑的模式,是随着软件维护由于不同产品、不同厂家造成功能类似而接口不相同情况下的解决方案。 二、生活实例 三、代码实例 /** * @descrip...原创 2019-07-14 16:35:12 · 105 阅读 · 0 评论 -
设计模式之模板模式
一、基本概念 模板模式,又叫模板方法模式,是指定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。 模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为型设计模式。 使用场景: 1、一次性实现一个算法的不变部分,将可变行为留给子类来实现。不变的部分一般声明为final,可以被重写的方法一般称为钩子方法,即在父类中给一个默认实现,在子类中可以重写,一般声明为抽象方法。...原创 2019-07-14 16:29:22 · 192 阅读 · 0 评论 -
设计模式之代理模式
一、基本概念 代理模式是指为其他对象提供的一种代理,以控制对这个对象的访问。代理对象在客户端与目标对象之间起到中介作用,属于结构型设计模式。可以保护目标对象,增强目标对象。 二、生活实例 房产中介~ 三、代码实例 /** * @description:订单类 * @author: annecheng,2019-06-29 17:42 */ public class Order { ...原创 2019-07-14 16:18:47 · 118 阅读 · 0 评论 -
设计模式之原型模式
原型模式是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 调用者不要知道任何创建细节,不调用构造函数。 使用场景: 1、类在初始化的时候资源过多; 2、new产生的一个对象需要非常繁琐的过程; 3、构造函数很复杂; 4、循环体中产生大量对象的时候。 例子: BeanUtils.copyProperties(); JSON.parseObject() Guaua 提供的Copy工具...原创 2019-07-14 16:09:46 · 99 阅读 · 0 评论 -
设计模式之单例模式
确保一个类在任何情况下都绝对只有一个实例,并提供一个全局的访问点,隐藏其所有的构造方法。 经典案例:ServletContext、ServletConfig、ApplicationContext、DBPool 一、饿汉式单例 在单例首次加载的时候就创建实例 版本一: public class HungrySingleton { private static final HungrySingleto...原创 2019-06-23 22:41:37 · 112 阅读 · 0 评论 -
设计模式之工厂模式
工厂模式 把对象的创建过程封装起来; 一、简单工厂模式 由一个工厂对象决定创建出哪一种产品的实例; // 课程 public interface Course { public void study{}; } //实现类1:Java课程 public class JavaCourse implements Course { public void stduy{ System.out.pri...原创 2019-06-23 20:20:20 · 571 阅读 · 0 评论 -
设计模式之大总结
设计模式在于理解,而不只在于形式。 不要为了套用设计模式而使用设计模式,而是在业务上遇到问题的时候,很自然的想到设计模式可以做为一种解决方案。 设计模式是一门艺术,来源于生活,属经验之谈。 ...原创 2019-07-14 16:47:00 · 105 阅读 · 0 评论