摘要: ##代理 代理是常用的设计模式之一,它可以提供额外的或不同的操作,它能够方便的将额外的操作从“实际”对象中分离到不同的地方。 换句话说:你希望某个对象调用某个方法之前或之后完成一些特定操作,就可以使用代理。代理可以提供了这些特定操作,并将这些特定操作从实际的对象中分离。 代理分为两种: 静态代理 动 阅读全文
posted @ 2020-11-01 10:27 xxgbl 阅读(111) 评论(0) 推荐(0)
摘要: ##单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 class Person{ private static Person person; private Person(){}//将构造函数私有,外界就不会用new来创建对象了 //提供一个访问这个对象的方法 public stat 阅读全文
posted @ 2020-10-01 18:35 xxgbl 阅读(93) 评论(0) 推荐(0)
摘要: ##建造者模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 有一种商品,它由AB两部分组成,现在客户端需要这个商品,我们来看看客户端怎么实现的: interface Product{ void partA(); void partB(); } //商品A class 阅读全文
posted @ 2020-10-01 10:17 xxgbl 阅读(121) 评论(0) 推荐(0)
摘要: ##原型模式 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 原型模式就是从一个对象在创建另外一个可定制的对象,而且不需要知道任何创建的细节。 说通俗点就是通过现有类的一个对象来拷贝一个它的副本来生成新的对象。 拷贝分为浅拷贝和深拷贝。 浅拷贝:值传递的字段会被复制,而引用传递的字段 阅读全文
posted @ 2020-09-28 23:02 xxgbl 阅读(240) 评论(0) 推荐(0)
摘要: ##装饰模式 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 考虑这样一个问题: 要求给一个类添加新的方法让其产生新的功能。 通常情况下,我们会为这个类创建一个子类,在子类中添加你需要的新方法。 但现在我们将上述的问题增加一个限定条件:为了不增加这个类的复杂度,如何 阅读全文
posted @ 2020-09-27 22:23 xxgbl 阅读(118) 评论(1) 推荐(0)
摘要: ##策略模式 它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。 //提供一个算法的通用接口 interface Strategy{ void Algorithm(); } //具体算法的不同实现 class StrategyA implement 阅读全文
posted @ 2020-09-27 22:22 xxgbl 阅读(131) 评论(0) 推荐(0)
摘要: ##简单工厂模式 首先实现一个计算器控制台程序。 public class Program { public static void main(String[] args) throws Exception{ try { Scanner scanner = new Scanner(System.in 阅读全文
posted @ 2020-09-27 22:21 xxgbl 阅读(145) 评论(0) 推荐(0)
摘要: ##适配器模式 将一个类的接口转换成客户端希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 简单点来说就是:需要的东西就在眼前,但你却不能用,而短时间内你有无法改造它,那么就只能"适配"它。 举个例子: 我的商务笔记本想插网线。但我发现我的商务本没有网线接口。 阅读全文
posted @ 2020-09-27 22:20 xxgbl 阅读(143) 评论(0) 推荐(0)
摘要: ##代理模式 为其他对象提供一种代理以控制对这个对象的访问。 abstract class Subject{ public abstract void Request(); } /* 真实对象和代理都要实现相同的接口。 */ class RealSubject extends Subject{ @O 阅读全文
posted @ 2020-09-27 22:19 xxgbl 阅读(126) 评论(0) 推荐(0)
摘要: ##职责链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。 下面模拟以下场景:你想向公司领导(经理<总监<总经理)提出请假或者加薪。不过你提出某些请求经理或者总监无权批准,得向总经理上报,让总经理定 阅读全文
posted @ 2020-09-27 22:15 xxgbl 阅读(129) 评论(0) 推荐(0)