概述 “行为变化”模式:组件构建过程中,组件行为的变化经常会导致组件本身剧烈的变化。“行为变化”模式将组件的行为和组件本身进行解耦,从而支持组件行为的变化,实现两者之间的松耦合 动机:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合——如需要对行为进行“记录、撤销 ...
分类:
其他好文 时间:
2020-06-08 13:05:33
阅读次数:
66
温故而知新,可以为师矣 开场小故事 “大鸟,今天我在公司写了一个窗体程序,当中有一个是‘工具箱’的窗体,问题就是我希望工具箱要么不出现,要么出现一个,可实际上我每单击菜单,实例化‘工具箱’,他就会出现一个,单击多次就会出现多个,你说怎么办?” “哈哈,显然你这个‘工具箱’类也要计划生育啊,不能让他超 ...
分类:
其他好文 时间:
2020-06-08 10:43:38
阅读次数:
59
概述 属于结构型模式 提供代理作为对象的替代品或其占位符,代理控制对原对象的访问,并可对请求在提交给对象前后进行一些处理 由于某种原因(如对象创建开销很大,某种操作需要安全控制,或者需要进程外访问等)直接访问会给使用者或者系统结构带来很多麻烦 如何在不失去透明操作对象的同时来管理 / 控制这些对象特 ...
分类:
其他好文 时间:
2020-06-08 00:42:40
阅读次数:
73
概述 缓存、Cache、Flyweight 属于结构型模式 不在每个对象中保存所有数据,而是共享多个对象所共有的相同状态,实现在有限的内存中载入更多的对象 在软件系统采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行(内存)代价 如何在避免大量细粒度对象问题的同时,让外 ...
分类:
其他好文 时间:
2020-06-08 00:20:33
阅读次数:
54
from abc import ABCMeta, abstractmethod from operator import itemgetter, attrgetter # 策略模式:三个角色:上下文环境、策略的抽象、具体的策略 # 简而言之:定义一系列算法,将每个算法都封装起来,并且使他们之间可以相 ...
分类:
其他好文 时间:
2020-06-07 23:03:55
阅读次数:
109
深入理解:设计模式中的七大原则 一、单一原则 概念理解: 1个类只负责一个功能领域中的相应职责。 二、开闭原则(目标) 概念理解: 抽象是开闭原则的关键。 怎么做: 面向接口、抽象类机制编程 三、里氏代换原则(基础) 概念理解: 开闭原则的最重要实现方式之一;所有引用基类的地方必须能透明的使用其子类 ...
分类:
其他好文 时间:
2020-06-07 21:27:31
阅读次数:
100
设计模式中的关系总结 在软件系统中,类并不是独立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式。现在来总结梳理下: 一、关联关系 类与类之间最常用的一种关系,是一种结构化的关系,用实线连接有关联关系的对象所对应的类。java中,常将一个类的对象作为另一个类的成员变量。 ...
分类:
其他好文 时间:
2020-06-07 21:09:58
阅读次数:
63
MVC设计模式:M:Model 模型:一个功能。用JavaBean实现V:view 视图:用于展示、以及与用户交互。使用html,js,css,jsp,jQuery等前端技术实现 C:controller 控制器:接受请求,将请求跳转到模型进行处理,再将处理的结果返回给请求处。可以用jsp实现,但是 ...
分类:
Web程序 时间:
2020-06-07 21:06:33
阅读次数:
71
六月箴言 走好选择的路,别选择好走的路,你才能拥有真正的自己。—— 杨绛 第八章 封装算法 定义模版方法模式: 1、在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。 2、模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 设计原则:好莱坞原则 别调用(打电话给)我们, ...
分类:
其他好文 时间:
2020-06-07 21:04:10
阅读次数:
60
组合模式(Composite Pattern) 组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。 组合模式结构: 组合部件(Component):它是一个抽象角色,为要组合的对象提供统一的接口。 叶子(Leaf):在组合中表示子节点 ...
分类:
其他好文 时间:
2020-06-07 19:55:36
阅读次数:
76