Java
Miracle42
这个作者很懒,什么都没留下…
展开
-
设计模式(五):代理模式、复合模式、真实世界的模式
十一、代理模式 1、概念 代理模式为另一个对象提供一个替身或占位符以控制对这个对象的访问。 使用代理模式创建代表(representative)对象,让代表对象控制某对象的访问,被代理的对象可以是远程的对象、创建开销大的对象或需要安全控制的对象。 2、类图 首先是Subject,它为RealSubject和Proxy提供接口。通过实现统一接口,Proxy在RealSubject出现的地方取代它 RealSubject是真正做事的对象,它是被proxy代理和控制访问的对象 客户和RealSubject原创 2020-11-22 15:19:09 · 1795 阅读 · 0 评论 -
设计模式(三):模板方法模式、迭代器和组合模式、状态模式
八、模板方法模式 1、概念 模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模板就是一个方法,更具体地说,这个方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的,由子类负责。这可以保证算法的结构保持不变,同时由子类提供部分实现。 2、例子 将泡茶和冲咖啡的制作步骤通过模板方法模式进行改造 //抽象超类中定义了 模板方法 public abstract class CaffeineBeverage {原创 2020-09-16 14:07:19 · 1966 阅读 · 0 评论 -
设计模式(二):单例模式、命令模式、适配器模式和外观模式
五、单例模式 1、概念 单例模式确保一个类只有一个实例,并且提供一个全局访问点 2、实现 单例模式有多种实现方式,不同的实现方式有不同的特点 //多线程不安全的单例模式 //!!!错误的单例,不建议使用 public class Singletion{ private static Singletion instance; private Singletion(){} public static Singletion getInstance(){ i原创 2020-09-14 08:58:17 · 1967 阅读 · 0 评论 -
设计模式(一):设计模式简介、策略模式、观察者模式、装饰者模式、工厂模式
一、设计模式入门 1、面向对象基础 抽象 封装 多态 继承 2、面向对象原则 封装变化:找出程序中会变化得方面,然后将其和固定不变的方面相分离 多用组合,少用继承 针对接口编程,不针对实现编程 为交互对象之间的松耦合设计而努力 对扩展开放,对修改关闭 依赖倒置原则:要依赖抽象,不要依赖具体类。 只和朋友交谈 别找我,我会找你 类应该只有一个改变的理由 3、策略模式 定义算法簇,分别封装起来,让它们之间可以相互替换,让算法的变化独立于使用算法的客户。 例子: 编写各种各样的鸭子类,定义基本的行为呱原创 2020-09-12 20:34:37 · 1956 阅读 · 0 评论