`

常用设计模式----复合模式

 
阅读更多
package org.design.patterns;

/**
 * 复合模式:
 * 结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。
 * 
 * 
 * MVC复合模式:
 * --控制器的策略模式
 * 视图和控制器实现了经典的策略模式:视图是一个对象,可以被调整使用不同的策略,
 * 而控制器提供了策略。视图只关心系统中可视的部分,对于任何界面行为,都委托给
 * 控制器处理。使用策略模式也可以使视图和模型之间的关系解耦,因为控制器负责和模型
 * 交互来传递用户的请求。对于工作是怎么完成的,视图毫不知情。
 * 
 * --视图的组合模式
 * 视图显示包括窗口、面板、按钮、文本标签等。每个显示组件如果不是组合节点(如窗口),
 * 就是 叶子节点(如按钮)。当控制器告诉视图更新时,只需告诉视图最顶层的组件即可,
 * 组合会处理其余的事。
 * 
 * --模型的观察者模式
 * 模型实现了观察者模式,当状态变化时,相关对象将继续更新。使用观察者模式,可以让
 * 模型完全独立于视图和控制器。同一个模型可以使用不同的视图,甚至可以同时使用多个
 * 视图。
 *
 */

public class MVC {
}


 

 /**
 * 模式:
 * 是在某情境(context)下,针对某问题的某种解决方案。
 */
public class 设计模式总结 {
}
/*
 * 模式比较:
 * 
 * 装饰者:        包装一个对象,以提供新的行为。
 * 状态:             封装了基于状态的行为,并使用委托在行为间切换。
 * 迭代器:        在对象的集合之中遍历,而不暴露集合的实现。
 * 外观:             简化一群类的接口。
 * 策略:             封装了可互换的行为,并使用委托来决定使用哪一个。
 * 代理:             包装对象,以控制对此对象的访问。
 * 工厂方法:   由子类决定要创建的具体类是哪一个。
 * 适配器:        封装对象,提供不同的接口。
 * 观察者:        让对象能够在状态改变时被通知。
 * 模板方法:   由子类决定如何实现一个算法中的步骤。
 * 组合:             客户用一致的方式处理对象集合和单个对象。
 * 单件:             确保有且只有一个对象被创建。
 * 抽象工厂:   允许客户创建对象的家族,而无需指定他们的具体类。
 * 命令:             把请求封装成对象。
 * 
 */
/* 模式分类:
 * --创建型:涉及到对象的实例化,将客户端从需要实例化的对象中解耦
 * Factory Method, 
 * Abstract Factory, 
 * Singleton,
 * Builder,
 * Prototype.
 * 
 * --行为型:涉及到类和对象如何交互及分配职责
 * Template Method,
 * Iterator,
 * Command,
 * Observer,
 * State,
 * Strategy,
 * Visitor,
 * Mediator,
 * Memento,
 * Interpreter,
 * Chain of Responsibility.
 * 
 * --结构型:可以把类或对象组合到更大的结构中
 * Decorator,
 * Proxy,
 * Facade,
 * Composite,
 * Adapter,
 * Bridge,
 * Flyweight.
 * 
 * ====================================================
 * 另一种分类方式:2种
 * 1.类模式: 描述类之间的关系如何通过继承定义。类模式的关系是在编译时建立的。
 * Template Method,
 * Factory Method,
 * Adapter,
 * Interpreter.
 * 
 * 2.对象模式: 描述对象之间的关系,而且主要通过组合来定义。对象模式的关系是在
 *             运行时建立,而且更加动态、更有弹性。
 * ...
 */
分享到:
评论

相关推荐

    java模式,设计模式,多种设计模式

    ### Java设计模式详解 #### 一、引言 ...本文介绍了几种常用的设计模式,包括J2EE设计模式和软件开发设计模式,并详细探讨了它们的应用场景。希望这些知识能够帮助你在开发过程中更加高效地解决问题。

    浅析23种软件设计模式

    浅析23种软件设计模式 软件设计模式是软件开发中的一种解决方案,旨在解决软件设计中的各种问题。下面我们将对23种常见的软件设计模式进行浅析。 1. 工厂模式:工厂模式的主要思想是将客户类和工厂类分开,客户类...

    python-patterns-收集了 Python 常用的设计模式-python

    python-patterns-收集了 Python 常用的设计模式 python-patterns Python 中的设计模式和习惯用法的集合。 当前模式创建模式:模式描述abstract_factory使用具有特定工厂的通用函数borg一个在实例之间共享状态的单例...

    C++设计模式大总结

    C++设计模式大总结是一个全面概述C++编程中常用设计模式的资源集合,旨在帮助学习者深入理解和应用这些模式。这个资源包含一个Visual Studio工程,方便用户进行学习、复习以及进一步的开发和改进。让我们逐一探讨...

    软件设计师历年设计模式试题总结

    ### 三、常用设计模式分析 通过对实际项目经验的总结,发现以下几种设计模式在软件开发中最为常用: - **Factory Method**(工厂方法模式):适用于需要创建的对象类型比较确定,数量不多的情况下。 - **Strategy*...

    Java设计模式刘伟书本中模拟考试答案

    这些模式都是在软件设计中常用的设计模式,分别针对不同的设计问题和需求场景提供解决方案。简单工厂模式提供了一个创建对象的工厂方法,建造者模式允许逐步构建复杂对象,外观模式为子系统中的一组接口提供一个统一...

    JAVA常用设计模式详解大全.pdf

    本文件详细介绍了Java中常用的几种设计模式,涵盖了创建模式、结构模式和行为模式三大类。 **创建模式**: 1. **工厂模式**:工厂模式是一种简单的抽象化创建对象的方式,它提供一个接口来创建对象,但具体的对象...

    23种设计模式幽默见解

    Singleton模式是一种常用的创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点。在幽默的例子中,这可能意味着只允许一个男朋友存在,这样可以避免资源冲突和数据不一致的问题。Singleton模式通常用于...

    NET设计规范-.NET约定、惯用法与模式.part2

    第9章 常用的设计模式 220 9.1 聚合组件 220 9.1.1 面向组件的设计 222 9.1.2 因子类型 224 9.1.3 聚合组件规范 224 9.2 Async模式 227 9.3 Dispose模式 232 9.3.1 基本Dispose模式 234 9.3.2 可...

    NET设计规范-.NET约定、惯用法与模式.part1

    第9章 常用的设计模式 220 9.1 聚合组件 220 9.1.1 面向组件的设计 222 9.1.2 因子类型 224 9.1.3 聚合组件规范 224 9.2 Async模式 227 9.3 Dispose模式 232 9.3.1 基本Dispose模式 234 9.3.2 可...

    23种设计模式(通俗易懂篇)

    ### 23种设计模式(通俗易懂篇) #### 创建型模式 1. **Factory(工厂模式)** - **应用场景**:当你需要为用户提供多种选择时,例如选择不同的餐厅来满足不同用户对食物的偏好。 - **原理**:在工厂模式中,...

    软件开发设计模式.pdf

    ### 软件开发设计模式 #### 概述 在软件工程领域,设计模式是一种用于解决常见问题的可重用解决方案。它不是完成任务的具体代码,而是一种模板或指南,帮助开发者以一种结构化的方式思考问题,并提供了一种标准化...

    Java设计模式(泡妞经典版)

    Factory 模式是一种常用的设计模式,它的主要思想是将产品的创建和使用分开,客户端可以通过工厂类来请求某种产品,而不需要知道产品的具体实现细节。Factory 模式的优点是可以降低客户端和产品之间的耦合度,提高...

    学习php设计模式 php实现享元模式(flyweight)

    享元模式是编程中常用的设计模式之一,特别是在处理大型系统和资源有限的环境中。通过对对象的内部状态和外部状态进行区分,并共享内部状态,我们能够提高系统的性能和降低内存使用。同时,理解享元模式与其他设计...

Global site tag (gtag.js) - Google Analytics