摘要: 备忘录模式: 备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将这个对象回复到原先保存的状态。 模式备忘录类图: 涉及角色: Originator(发起人):负责创建一个备忘录Memento,用以当前时刻它的内部状态,并可... 阅读全文
posted @ 2017-04-19 20:47 Will_Don 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 适配器模式: 适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 使用情景: 在软件开发中,当系统的数据和行为都正确,但接口不符时,我们应当考虑适配器,目的是使控制范围之外的一个原有对象于某个接口匹配 阅读全文
posted @ 2017-04-19 20:21 Will_Don 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 状态模式: 状态模式定义: 状态模式(State):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像改变了其子类。 状态模式UMl类图: 状态模式Java代码实现 public class Context { //定义一个状态,并且设置该状态可以读写 private State... 阅读全文
posted @ 2017-04-17 19:48 Will_Don 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式: 书中通过小菜的公司因为新的项目需求,需要将原来的SQL SERVER改为Access,而引出需求。写一个数据访问(“新增用户”,“得到用户”),假设只有name和Id 两个字段。 未使用设计模式代码: 用户类public class User { private String n... 阅读全文
posted @ 2017-04-16 20:17 Will_Don 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 观察者模式: 书中通过小菜描述同事在公司看股票行情,并请求前台帮忙在老板回来时提醒同事,引出需求。将前台通知同事老板回来的事写成程序。 未用模式实现: 1 //前台类 2 public class Secretary { 3 private List<StockObserver> observers 阅读全文
posted @ 2017-04-16 16:21 Will_Don 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 建造者模式 建造者模式(Builder): 将一个复杂对象的构建与他的表示分离,使同样的构建过程可以创建不同的表示。 建造者模式UMl类图: 建造者模式简单代码实现: 具体产品类 public class Product { //产品部件 private List parts = ... 阅读全文
posted @ 2017-04-16 14:31 Will_Don 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 外观模式: 文中通过小菜说同时炒股事件引出需求,要求小菜写一个关于股民买股票的代码。 未用设计模式代码实现: 股票 public class Stock { public void buyStock(){ System.out.println("买股票"); } public void sellSt 阅读全文
posted @ 2017-04-14 21:39 Will_Don 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式: 模板方法模式:定义一个操作中的算法的骨干,而将一些步骤延迟到子类中去。模板方法模式使得子类可以不改变一个算法的接口即可以重定义该算法的某些特定步骤。 模板方法模式UML类图: 模板方法模式Java代码实现: 1 public abstract class AbstractClass 阅读全文
posted @ 2017-04-14 20:49 Will_Don 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 原型模式(Prototype): 书中通过小菜要去面试,需要打印简历。而引出了需求。 需要小菜写一份简历类,要求有姓名,年龄,性别。可以设置工作经历,并且需要三份简历。 未使用设计模式代码: 1 package Prototype.NoPattern; 2 3 public class Resume 阅读全文
posted @ 2017-04-08 17:31 Will_Don 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式(Factory Method) 书中通过一个学雷锋的例子,来引出工厂方法模式。 工厂方法模式:定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法模式UMl类图: 工厂方法模式代码: public abstract class Lei 阅读全文
posted @ 2017-04-08 16:31 Will_Don 阅读(153) 评论(0) 推荐(0) 编辑