返回顶部

随笔分类 -  设计模式

python-命令模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 命令在发送方被激活,而在接收方被响应。一个对象既可以作为命令的发送方,也可以作为命令的接收方,或者都可以。命令的典型应用就是图形用户界面开发。每一个窗体都包含菜单,工具栏,按钮等控 阅读全文

posted @ 2018-06-03 21:59 weilanhanf 阅读(3173) 评论(0) 推荐(0) 编辑

python-访问者模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 访问者模式的基本想法是,软件系统中拥有一个由许多对象构成的、比较稳定的对象结构,这些对象的类都拥有一个 accept 方法用来接受访问者对象的访问。访问者是一个接口,它拥有一个 v 阅读全文

posted @ 2018-06-03 21:34 weilanhanf 阅读(877) 评论(0) 推荐(0) 编辑

python-责任链模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 当你作为一名coder已经快三十却还还没有女朋友,家中父母已经着急万分,此时要求你回家相亲,你嘴上说不要,我还年轻,还要为事业打拼,但是摸着头顶上日渐稀少的毛发,身体也很诚实,早早 阅读全文

posted @ 2018-06-03 21:14 weilanhanf 阅读(657) 评论(0) 推荐(0) 编辑

python-备忘录模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 一个成熟的软件应当允许用户取消不确定的操作或者从错误的状态中恢复过来。复制,粘体,撤回,和剪切是常见的应用。因此程序必须提供必要的检查点和取消机制。在适当的事迹程序需要检查对象的状 阅读全文

posted @ 2018-06-03 20:43 weilanhanf 阅读(456) 评论(0) 推荐(0) 编辑

python-中介者模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 面向对象设计中鼓励将行为分不到各个对象中,这种分布可能会导致对象间有许多连接。最坏的情况下,每一个对象都知道其他所有对象,这就非常不符合设计模式原则了。因为单一指责原则要求我们应该 阅读全文

posted @ 2018-06-03 20:21 weilanhanf 阅读(556) 评论(0) 推荐(0) 编辑

python-状态模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 在软件开发过程中,各种应用程序可能会根据不同的情况做出不同的处理。最直接的方案就是把所有的可能发生的情况都考虑到。然后使用条件语句对不同情况的作出判断并进行处理。但是假如状态比较复 阅读全文

posted @ 2018-06-03 19:48 weilanhanf 阅读(2572) 评论(0) 推荐(0) 编辑

python-模板方法模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 模板方法模式时行为模式中比较简单的设计模式之一。模板方法关注这样的一类行为:该类行为在执行过程中拥有大致相同的动作次序,只是动作在实现的具体细节上有所差异。例如:泡茶和泡咖啡,泡茶 阅读全文

posted @ 2018-06-03 17:59 weilanhanf 阅读(3940) 评论(0) 推荐(0) 编辑

python-解释器模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 解释器模式在面向对象语言实现的编译器中得到了广泛的应用。但是此模式进适用于建大的文法解释,弊端又多,所以很少有其他方面使用。例如:将“1+2+3-4”等字符串输入到python的c 阅读全文

posted @ 2018-06-03 17:34 weilanhanf 阅读(670) 评论(0) 推荐(0) 编辑

python-观察者模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 存在这样的一种情况:公司领导再开例会那天临时有事,他让秘书给所有会上员工群发了一封邮件,通知大家会议取消,员工们收到邮件之后得知会议取消便继续回到各自岗位开始工作。这其中就包含了一 阅读全文

posted @ 2018-06-03 17:10 weilanhanf 阅读(629) 评论(0) 推荐(1) 编辑

python-迭代器模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 集合是用来管理和组织数据对象的数据结构的。集合有两项基本职能:一、批量的存储数据对象,二、在不暴露集合内部结构的条件下向外界提供访问内部元素的接口(可能存在的遍历方式:顺序、逆序遍 阅读全文

posted @ 2018-06-03 16:58 weilanhanf 阅读(393) 评论(0) 推荐(0) 编辑

python-策略模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 策略指的就是为了达到某一目的而采取的手段或者方法。为了实现软件设计咪表,对象可能会用到多种多样的算法。这些算法甚至会经常改变。如果将这些算法都硬编码到对象中,将会使得对象本身变得臃 阅读全文

posted @ 2018-06-03 16:09 weilanhanf 阅读(2841) 评论(0) 推荐(0) 编辑

python-组合模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 组合模式主要用来处理一类具有“容器特征”的对象——它们即充当对象又可以作为容器包含其他多个对象。组合模式对“容器特征”的对象和单个对象一视同仁。例如在计算机处理算术表达式的时候,算 阅读全文

posted @ 2018-06-03 12:09 weilanhanf 阅读(530) 评论(0) 推荐(0) 编辑

python-享元模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 如果一个软件系统在运行时所创建的相同或相似对象数量太多,将导致运行代价过高,带来系统资源浪费、性能下降等问题 如何避免系统中出现大量相同或相似的对象,同时又不影响客户端程序通过面向 阅读全文

posted @ 2018-06-03 11:39 weilanhanf 阅读(733) 评论(0) 推荐(1) 编辑

python-代理模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 模式动机 通过引入一个新的对象(如小图片和远程代理对象)来实现对真实对象的操作或者将新的对象作为真实对象的一个替身,这种实现机制即为代理模式,通过引入代理对象来间接访问一个对象,这 阅读全文

posted @ 2018-06-03 11:20 weilanhanf 阅读(717) 评论(0) 推荐(0) 编辑

python-装饰器模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 有时为了给某个对象而不是给整个类添加一个功能,使用继承机制是添加功能的一个有效途径,但是不够灵活,用户不能控制对组件加边框的方式和时机,并且会导致子类膨胀。一种较为灵活的方式就是将 阅读全文

posted @ 2018-06-02 23:41 weilanhanf 阅读(3496) 评论(0) 推荐(0) 编辑

python-适配器模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 为了解决接口不兼容的问题引进一种接口的兼容机制,就是适配器模式,其通过提供一种适配器类将第三方提供的接口转换为客户希望的接口。生活中的例子例如:手机充电器要将220v的电源转换为手 阅读全文

posted @ 2018-06-02 22:23 weilanhanf 阅读(2130) 评论(0) 推荐(0) 编辑

python-桥接模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 有些类在功能设计上要求,自身包含两个或两个以上变化的因素,即该类在二维或者多维上变化。现有一杯咖啡,咖啡杯的大小和是否加奶为两个变化因素,使得这杯咖啡在这两个维度上发生变化,也就是 阅读全文

posted @ 2018-06-02 21:56 weilanhanf 阅读(813) 评论(0) 推荐(0) 编辑

python-外观模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 外观模式又叫做门面模式。在面向对象程序设计中,解耦是一种推崇的理念。但事实上由于某些系统中过于复杂,从而增加了客户端与子系统之间的耦合度。例如:在家观看多媒体影院时,更希望按下一个 阅读全文

posted @ 2018-06-02 21:30 weilanhanf 阅读(1399) 评论(0) 推荐(0) 编辑

python-工厂方法模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 简单工厂模式的不足: 在简单工厂模式中,只提供了一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是 阅读全文

posted @ 2018-06-02 21:04 weilanhanf 阅读(8885) 评论(0) 推荐(0) 编辑

简单工厂模式
摘要:源码地址:https://github.com/weilanhanf/PythonDesignPatterns 考虑动机: 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等),这些按钮都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使 阅读全文

posted @ 2018-06-02 18:30 weilanhanf 阅读(350) 评论(0) 推荐(1) 编辑

导航