学习随笔--设计模式
--知行合一
这个作者很懒,什么都没留下…
展开
-
java设计模式之---备忘录模式
概念 Memento模式也叫作备忘录模式, 是行为模式之一, 他的作用是保存对象的内部状态, 并在需要的时候(undo/rollback)恢复对象以前的状态(就是保存以前的记录 以便于随时恢复到这个状态) 最原始的实现 是在客户端代码中进行 保存状态 修改 回滚和还原 非常不合理备忘录模式结构图 Orginator(原生者): 需要被保存状态以便恢复的对象Memento(备忘录): 该对象由Org原创 2017-07-20 18:02:14 · 173 阅读 · 0 评论 -
java设计模式之---策略模式
概念Strategy模式也叫策略模式是行为模式之一, 他对一系列算法加以封装, 为所有的算法定义一个抽象的算法接口, 并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略). Strategy模式主要用来平滑的处理算法的切换结构Strategy: 策略(算法)的抽象ConcreteStrategy: 各种策略(算法)的实现Conte原创 2017-07-20 18:37:45 · 198 阅读 · 0 评论 -
java设计模式之---简单工厂模式
概念简单工厂模式属于类的创建型模式, 又叫做静态工厂方法模式. 通过专门定义一个类来负责创建其他类的实例, 被创建的实例通常都具有共同的父类结构模式中包含的角色及其职责: 工厂(Creator)角色: 简单工厂模式的核心, 他负责实现创建所有实例的内部逻辑. 工厂类可以被外界直接调用, 创建所需要的产品对象抽象(Product)角色: 简单工厂模式所创建的所有对象的父类, 他负原创 2017-07-21 13:43:01 · 186 阅读 · 0 评论 -
java设计模式之---工厂方法模式
概念工厂方法模式同样属于类的创建模式又被称为多态工厂模式. 工厂方法模式的意义是定义一个创建产品对象的工厂接口, 将实际创建工作推迟到工厂子类当中. 核心工厂类不再负责产品的创建, 这样核心类成为一个抽象工厂角色, 仅负责具体工厂子类必须实现的接口, 这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品结构抽象工厂(Creator)角色: 工厂原创 2017-07-26 18:25:29 · 197 阅读 · 0 评论 -
java设计模式之---抽象工厂模式
概念抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的. 抽象工厂模式可以向客户端提供一个接口, 使得客户端不必指定产品的具体类型的情况下, 能够创建多个产品族的产品对象产品族和产品等级结构图代码public interface Fruit { void get();}public abstract class Apple implements Fruit原创 2017-07-27 09:36:19 · 255 阅读 · 0 评论 -
java设计模式之---工厂模式在开发中的运用
问题写一个简单的计算器分析如果使用完全面向过程设计, 那么缺少代码重用, 不合理应该采用面向对象的设计思想代码采用工厂方法模式工厂public interface OperationFactory { public Operation getOperation();}public class AddOperationFactory implements原创 2017-07-27 18:39:12 · 336 阅读 · 0 评论 -
SpringAOP神秘面纱之动态代理
1、写代码的原则 开闭原则 开闭原则就是说对扩展开放,对修改关闭。 2、静态代理 以找对象为例子讲解静态代理 张三写代码、玩游戏没空找对象 张三他爹着急,年龄大了,想抱孙子了。张三他爹拿着张三的照片(持有张三的引用)给张三满世界找对象 张三他爹就是张三的一个代理 1、关键原创 2017-08-25 13:37:57 · 239 阅读 · 0 评论 -
观察者模式
案例宝宝睡觉, 爸爸在一旁观察, 宝宝醒来后, 爸爸给宝宝喂食代码(第一版)package design.observer;/** * @ClassName: Child * @Description:小孩类 */public class Child implements Runnable { // 是否醒来 默认是睡着的 private Boolean wakeup原创 2017-08-29 14:27:52 · 298 阅读 · 0 评论 -
事件驱动
事件驱动模型事件驱动模型要素(what)事件事件源(生产者)注册中心(事件通道)侦听器(接受者)事件驱动模型示意图 观察者模式观察者设计模式涉及到两种角色:主题(Subject )和观察者(Observer ) 事件驱动编程应用场景js页面开发 Zookeeper开发GUI开发(awt/swing) Spring开发事件驱动编程优点无耦合的关联:事件发布者和事件订阅者预原创 2017-09-08 17:00:54 · 484 阅读 · 0 评论