随笔分类 - Design Patterns
摘要:"目录:设计模式之小试牛刀" "源码路径:Github Design Pattern" 定义:(Bridge Pattern) 将抽象和实现解耦,使得两者可以独立地变化。 类图: 启示: 一个产品的研发,流程主要包括需求分析、产品设计、制定计划、任务安排、进度把控、产品发布、后期运维。 按照我们一般
阅读全文
摘要:"目录:设计模式之小试牛刀" "源码路径:Github Design Pattern" 定义(State Pattern): 当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。 类图: 启示: 最近几年,自动驾驶被炒的是热火朝天,国外的知名google、uber、tesla,国内的
阅读全文
摘要:定义:(Chain of Responsibility) 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 类图: 启示: 用过ERP软件的都知道,从生产制造到采购销售,库存管理到财务管理,各个模块下各个环
阅读全文
摘要:定义:(Visitor Pattern) 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 换句话说: 访问者模式赋予了【数据】的选择权。 一般而言,我们都是直接通过【数据操作类】操作【数据】。 而通过访问者模式,【数据】可以选择某个【数据操作
阅读全文
摘要:定义:(Mediator Pattern) 用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。 类图: 启示: 最近两年,楼市疯狂,房价涨的离谱。为了预防楼市泡沫,中央出台一项项政策进行调控。在这样一个现实场景中,共有三个角色
阅读全文
摘要:定义:(Proxy Pattern) 为其他对象提供一种代理以控制对这个对象的访问 类图: 启示: 互联网上由很多优秀的搜索引擎,比如Google,百度,Bing,在国内有一句话叫“外事问Google,内事问百度”。笔者也比较喜欢用Google进行搜索。但在天朝,无法直接访问Google。若需FQ访
阅读全文
摘要:定义:(Prototype Pattern) 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 类图: 启示: 邮件外发模块的开发:比如某银行有个理财活动想通过邮件的形式群发给客户推广。 通过分析,我们知道邮件的内容部分即活动内容是固定的,发件人都是银行,不同的是,接收人邮箱及对客户
阅读全文
摘要:定义:(Builder Pattern) 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 类图: 启示: 采购经理要采购一批台式电脑,为了节约公司成本,决定组装。但是对于怎么组装,采购经理不知道也不关心,所以就指派装机商组装。第一次采购的电脑是组装的HP的台式机, 第二次
阅读全文
摘要:定义(Template Method) 定义一个操作中算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 类图 启示 组装电脑一般包含三个部分,主机、显示器、输入设备(键鼠),而不同品牌电脑的组装都各不相同,但是最终组装成一部完整的电脑的步骤都是固
阅读全文
摘要:源码: "源代码" C 系列导航: "目录" 定义(Factory Pattern): 用来创建目标对象的类,将相似对象的创建工作统一到一个类来完成。 一、简单工厂模式: 代码: 优缺点: 工厂类包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类。对于客户端来说,去除了对具体产品的依赖。
阅读全文
摘要:定义:(Singleton Pattern) 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 类图: 应用场景: 避免产生多个对象消耗过多的资源(特别是一个对象需要频繁的创建和销毁时); 提供一个全局访问点,常常被用来管理系统中共享的资源(作为一个Manager)。 实现方式:
阅读全文
摘要:虚线箭头指向依赖; 实线箭头指向关联; 虚线三角指向接口; 实线三角指向父类; 空心菱形能分离而独立存在,是聚合; 实心菱形精密关联不可分,是组合;
阅读全文
摘要:为了更好的学习设计模式,以及督促自己完成设计模式的学习,现提笔为记。 怎么的,每周至少也要学一个设计模式!!! 恳请大家的监督和不吝赐教,共同学习和进步! 内容主要参考自《设计模式之禅》以及相关网络博文! 源码路径: "源代码" C GitHub 目录 1. "想学设计模式,你得先会看类图,一张图读
阅读全文

浙公网安备 33010602011771号