随笔分类 - 设计模式
常用设计模式示例
摘要:设计模式总结 创建型模式 创建型模式隐藏了这些类的实例是如何被创建和放在一起,整个系统关于这些对象所知道的是抽象类所定义的接口。这样,创建型模式在创建了什么、谁创建它、它是怎么被创建的,以及何时创建这些方面提供了很大的灵活性。 1. 单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。
阅读全文
摘要:讲故事 书接上文, "状态模式" 完美解决了多判断分支分支问题,符合了我 "人生信条" 的第一、第三条。今天来探讨一下状态模式异父异母的亲兄弟 职责链模式 ,它们都有异曲同工之妙,实际开发中可根据口味,自行选用。 今天的故事背景就放在我们平时 申请加薪、请假等活动中,我们都知道,随着我们申请内容的不
阅读全文
摘要:讲故事 彩虹环绕这秋香、春香、夏香,秋香、春香、夏香环绕着我,这时键盘飞入我的怀中( "小朋友,你是否有许多的问号" ),飞速的敲击键盘,不一会儿婀娜多姿的冬香也出现在我的面前。 有了四大美人相伴,那我的生活要好好重新安排一下,早上谁来服侍我,中午谁来服侍我,下午谁来服侍我,晚上谁来服侍我,想想都美
阅读全文
摘要:讲故事 最近重温了一下星爷的《唐伯虎点秋香》,依然让我捧腹不已,幻想着要是我也能有一名秋香如此的侍女,夫复何求呀,带着这个美好的幻想沉沉睡去... 突然想到,我是一名程序猿呀,想要什么对象不是易如反掌吗,New一个呗,不光是秋香,春、夏、冬都要,身材要超A的,百度好三围(82, 54, 86),开干
阅读全文
摘要:讲故事(user story) 假设我们是一个优惠券提供平台,故事就发生在顾客在我们平台采购完成支付成功后。 支付完成后平台要进行的一些操作: 1. 短信通知客户已经生成订单 2. 增加顾客的积分 3. 开始按订单需求制券 。。。(可能会有许多操作) 接下来就是将故事以代码的形式展现出来。。。
阅读全文
摘要:简介: 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程创建出不同的表示。 结构图: 优点: 使得创建代码和表示代码分离,建造者隐藏了该产品是如何组装的,所以若需要改变一个产品内部的表示,只需要再定义一个具体的建造者就可以了; 便于控制细节风险。 缺点: 产品必须有共同点,范围有限制; 若内
阅读全文
摘要:简介: 定义了算法家族,分别封装起来,可以让他们之间相互替换。此模式可以让算法的变化,不会影响到使用算法的客户。【行为型模式】 结构图: 优点: 策略模式是一种定义一系列算法的方法,从概念上来看,这些算法都是完成相同的工作,只是实现不同。它可以以相同的方式调用所有的算法,减少了各种算法类与调用算法类
阅读全文
摘要:简介: 为其他对象提供一种代理以控制对这个对象的访问。(在访问真实对象时,引入一定程度的间接性,因为这种间接性可以附加多种用途)【结构型模式】 结构图: 优点: 高扩展性; 代理作为调用者和真实对象的中间层,降低了模块间的耦合性。 缺点: 由于在客户端和真实对象之间增加了代理对象,因此有些类型的代理
阅读全文
摘要:简介: 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生产子类更加灵活——《大话设计模式》。【结构型模式】 结构图: 优点: 装饰类和被装饰类可以独立发展,不会相互耦合; 动态的扩展一个对象的功能; 可以对一个对象进行多次装饰,让其具备更多的功能。 缺点: 多层装饰比较复杂,相应增加
阅读全文