设计模式学习
山鬼谣弋痕夕
学习,记录,改变
展开
-
设计模式(三):单例模式(有例子)
java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例(常用)、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 主要解决:一个全局使用的类频繁地创建与销毁。 何时...原创 2018-04-22 15:37:24 · 250 阅读 · 0 评论 -
设计模式(四):建造者模式(有例子)
建造者模式建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,像是在组装一些新的复杂对象。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时...原创 2018-04-23 18:28:34 · 370 阅读 · 1 评论 -
设计模式(一):工厂模式(有例子)
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式使用的场景:设计模式提供了一个标准的术语系统,且具体到特定的情景。相当于约定好的模式,这样交流起来很方便。例如,单例设计模式意味着使用单个对象,这样所有...原创 2018-04-21 16:42:37 · 227 阅读 · 0 评论 -
设计模式(二):抽象工厂模式(有例子)
抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类,在工厂模式里继承接口的具体实现接口的类。每个生成的工厂都能按照工厂模式提供对象。意图:提供一个创建一系列相关或相互依赖...原创 2018-04-21 17:37:17 · 439 阅读 · 0 评论 -
设计模式(五):观察者模式
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用:一个对象(目标对象)的状态发生改...原创 2018-07-07 14:22:59 · 188 阅读 · 0 评论 -
设计模式(六):备忘录模式
备忘录模式 参考自http://www.runoob.com/design-pattern/memento-pattern.html 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。其实就是给我们需要记录的数据保留了一个副本,在事务需要回滚的时候,可以拿到要拿到的信息。 备忘录模式属于行为型模式。 介绍 意图:在不破坏封装性的前提下,捕获一个...原创 2018-10-17 15:31:36 · 223 阅读 · 0 评论 -
设计模式(七):门面模式
一、门面(外观)模式介绍 1.1门面模式现实例子 一个电源总开关可以控制所有电器的打开或关闭状态。 无论是空调、冰箱、电视、电脑、风扇等等,只要是电器都受这个电闸控制。只要这个电闸将关闭,所有的电器都会受到牵连(一同关闭)。 电源总开关(电闸)即为该系统的外观模式设计。 1.2回到代码世界 比如,我们家里现在有空调、冰箱、电脑这么几个电器 // 冰箱 public class Fr...转载 2018-12-31 14:39:05 · 258 阅读 · 0 评论