![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
大名人儿
积跬步,以至千里
展开
-
策咯模式
概念: 指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户(不变的部分在原类中,变化的部分抽出来放在策咯类中)。 2.形象例子: 例如一条狗见到 A 会叫一声,见到 B 会叫两声,见到 C 会叫三声。策咯模式就是将“一声”、“两声”、“...原创 2019-02-26 16:53:44 · 143 阅读 · 0 评论 -
浅谈装饰者模式
一、核心点 1.运行时扩展 要远比 编译时继承 威力大 2.将父类的功能抽象成接口,子类 extends 父类并 implements 功能接口 3.类应对扩展开放,对修改关闭 4.用装饰过的对象代替原有的对象 5.继承有两个作用:继承行为+类型匹配 6.继承是父类的功能传给子类 7.组合:获得的新行为并非是继承【编译】得来,而是由组合对象得来的【运行时才获得】。 二、概念 ...原创 2019-02-26 17:45:07 · 132 阅读 · 0 评论 -
浅谈工厂模式
1. 什么是依赖? 当你实例化一个对象时,就是在依赖它的具体类 2. 依赖倒置原则:要依赖抽象,不要依赖具体 不让高层组件依赖低层组件,而且不管高层或低层,都应该依赖于抽象 【例如】PizzaStore是高层组件、Pizza实现是低层组件,在高层组件中不要实例化Pizza对象, 而是创建一个Pizza抽象类,高层组件依赖于这个抽象类,低层组件“Pizza实...原创 2019-03-06 16:53:31 · 78 阅读 · 0 评论 -
单例(件)模式
1.哪些地方能用到单件模式?【有些对象我们只需要一个】 线程池、缓存、对话框、处理偏好设置、注册表、日志、充当打印机和显卡的驱动程序的对象。。。 2.为什么不用Java静态变量? java静态变量在编译的时候就创建了;而单件则在需要的时候随时使用singleton.getInstance()来创建实例【延迟实例化】。 3.定义 单件模式确保一个类只有一个实例,并提供一个全局的访问点。 ...原创 2019-03-07 14:44:51 · 190 阅读 · 0 评论