
design pattern
文章平均质量分 94
Linkkk丶
这个作者很懒,什么都没留下…
展开
-
Mediator
更进一步,没有什么效果显著得方法来改变系统的行为,因为行为分布在众多的对象之中。比如,当特定的条目字段为空时,对应的按钮被禁用。包含的 widget 完全相同的对话框也不能简单的重用现存的 widgets 类,因为 widgets 间的关系可能不同。例如,FontDialogDirector 能作为对话框中的 widgets 之间的 mediator。在最糟糕的情况下,每个对象最终都会知道彼此的存在。Mediator 通过避免对象间显式的引用彼此降低耦合度,且能够独立的变更它们间的交互。翻译 2022-09-22 19:21:56 · 155 阅读 · 0 评论 -
Observer
在对象中定义一对多的依赖,当一个对象改变状态时,所有它的依赖都自动的被通知和更新。Dependents,Publish-Subscribe将一个系统划分为合作类的集合,它的一个常见的副作用是需要管理关联对象间的一致性。你不希望通过使类紧耦合来实现一致性,因为这样会减少它的复用性。在下述情景下使用 Observer 模式:下面的交互图表明 subject 和两个 observers 之间的合作: 注意,发起改变请求的 Observer 对象将推迟它的更新直到它从 subject 获得通知。Notify 不总翻译 2022-06-21 19:50:25 · 133 阅读 · 0 评论 -
Discussion of Creational Pattern
Discussion of Creational Pattern 1. Abstract Factory Applicability 在下述情况下使用 Abstract pattern 系统应当与它的产品如何创建,组合,和表示相独立。 系统应当使用多个产品族之一进行配置。 相关的产品对象构成族,它们被设计成一起使用,你需要强加这个使用限制。 你想要提供一个产品的类库,且你仅想暴露它们的接口,不暴露其实现。 Structure Collaborations AbstractFactory 定义创建产品对翻译 2021-12-16 19:35:04 · 127 阅读 · 0 评论 -
Abstract Factory
Abstract Factory 1. Intent 提供接口用于创建相关或相依赖的对象族,而不用指定它们的具体类。 2. Applicability 在下述情况下使用 Abstract Factory: 系统应当与其产品的创建,组合和表示相互独立。 系统被多个产品族其中之一配置。 相关产品对象族被设计为在一起使用,你需要执行这种限制。 你想要提供产品的类库,而且你仅仅想要暴露它们的接口,并非它们的实现。 3. Structure 4. Participants AbstractFactory (W翻译 2021-10-20 15:39:01 · 76 阅读 · 0 评论