随笔分类 -  设计模式

摘要:简单的复制粘贴极有可能造成重复代码的灾难, 但是java中提供了克隆的功能, 如果一个对象创建过程复杂,又要频繁使用, 在初始化信息不发生变化的情况下,应当采取克隆而不是new一个对象 定义 原型模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 也就是说, 只需知道原型对象的类 阅读全文
posted @ 2017-02-17 22:21 liuconglin 阅读(345) 评论(0) 推荐(0)
摘要:生活中的例子: 定义 工厂方法模式: 定义一个创建对象的接口, 让子类决定实例化哪一个类, 工厂方法使一个类的实例化延伸到了子类 模式结构 Creator: 抽象工厂, 声明工厂方法 ConcreteCreator: 具体工厂,创建具体产品对象 Product:抽象产品,声明产品共有的接口 Conc 阅读全文
posted @ 2017-02-16 20:05 liuconglin 阅读(467) 评论(0) 推荐(0)
摘要:生活中的例子: 代理模式的目的是: 隐藏真实访问对象,同时可以处理别的事情 定义 代理模式:为其他对象提供一种代理以控制对这个对象的访问 也就是说,代理是一个中介, 它连接客户端和目标对象,同时可以附加对种用途 模式结构 Subject: 定义了RealSubject和Proxy共用的接口 Prox 阅读全文
posted @ 2017-02-15 23:05 liuconglin 阅读(344) 评论(0) 推荐(0)
摘要:定义 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活 模式结构 Component: 定义一个对象接口,可以给这些对象动态的添加职责 ConcreteComponent: 定义一个具体的对象,也可以给这个对象添加职责 Decorate:装饰抽象类, 从外类扩展Comp 阅读全文
posted @ 2017-02-15 13:37 liuconglin 阅读(310) 评论(0) 推荐(0)
摘要:面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类 定义 它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户 生活中例子: 穿衣服 把所需的功能按正确的顺序串联起来进行控制,这就需要用到 阅读全文
posted @ 2017-02-14 13:30 liuconglin 阅读(391) 评论(0) 推荐(0)
摘要:定义 专门定义一个类来负责创建其他类的实例, 被创建的类通常具有共同的父类。 它又称为静态工厂模式,属于类的创建型模式 模式类图 将对象的创建和对象本身业务处理分离了,可以降低系统的耦合 工厂模式实现 场景:实现一个计算器, 输入a和b, 计算a+b和a-b 下载代码,解压后目录如下图: 优缺点 当 阅读全文
posted @ 2017-02-14 13:29 liuconglin 阅读(315) 评论(1) 推荐(1)