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设计模式详解 #### 一、引言 ...本文介绍了几种常用的设计模式,包括J2EE设计模式和软件开发设计模式,并详细探讨了它们的应用场景。希望这些知识能够帮助你在开发过程中更加高效地解决问题。
浅析23种软件设计模式 软件设计模式是软件开发中的一种解决方案,旨在解决软件设计中的各种问题。下面我们将对23种常见的软件设计模式进行浅析。 1. 工厂模式:工厂模式的主要思想是将客户类和工厂类分开,客户类...
python-patterns-收集了 Python 常用的设计模式 python-patterns Python 中的设计模式和习惯用法的集合。 当前模式创建模式:模式描述abstract_factory使用具有特定工厂的通用函数borg一个在实例之间共享状态的单例...
C++设计模式大总结是一个全面概述C++编程中常用设计模式的资源集合,旨在帮助学习者深入理解和应用这些模式。这个资源包含一个Visual Studio工程,方便用户进行学习、复习以及进一步的开发和改进。让我们逐一探讨...
这些模式都是在软件设计中常用的设计模式,分别针对不同的设计问题和需求场景提供解决方案。简单工厂模式提供了一个创建对象的工厂方法,建造者模式允许逐步构建复杂对象,外观模式为子系统中的一组接口提供一个统一...
### 三、常用设计模式分析 通过对实际项目经验的总结,发现以下几种设计模式在软件开发中最为常用: - **Factory Method**(工厂方法模式):适用于需要创建的对象类型比较确定,数量不多的情况下。 - **Strategy*...
本文件详细介绍了Java中常用的几种设计模式,涵盖了创建模式、结构模式和行为模式三大类。 **创建模式**: 1. **工厂模式**:工厂模式是一种简单的抽象化创建对象的方式,它提供一个接口来创建对象,但具体的对象...
Singleton模式是一种常用的创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点。在幽默的例子中,这可能意味着只允许一个男朋友存在,这样可以避免资源冲突和数据不一致的问题。Singleton模式通常用于...
第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 可...
第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种设计模式(通俗易懂篇) #### 创建型模式 1. **Factory(工厂模式)** - **应用场景**:当你需要为用户提供多种选择时,例如选择不同的餐厅来满足不同用户对食物的偏好。 - **原理**:在工厂模式中,...
本书共分为14章,涵盖了多个常用的设计模式以及它们的应用场景。每一章都会深入探讨一个或多个设计模式,并通过实际案例来展示如何在项目中应用这些模式。此外,书中还包含了一些补充材料,如技术评审者的信息、致谢...
### 软件开发设计模式 #### 概述 在软件工程领域,设计模式是一种用于解决常见问题的可重用解决方案。它不是完成任务的具体代码,而是一种模板或指南,帮助开发者以一种结构化的方式思考问题,并提供了一种标准化...
Factory 模式是一种常用的设计模式,它的主要思想是将产品的创建和使用分开,客户端可以通过工厂类来请求某种产品,而不需要知道产品的具体实现细节。Factory 模式的优点是可以降低客户端和产品之间的耦合度,提高...
享元模式是编程中常用的设计模式之一,特别是在处理大型系统和资源有限的环境中。通过对对象的内部状态和外部状态进行区分,并共享内部状态,我们能够提高系统的性能和降低内存使用。同时,理解享元模式与其他设计...
**实用J2EE设计模式编程指南** 在Java企业级应用开发中,J2EE(Java 2 Platform, Enterprise Edition)是一套广泛采用的标准,它提供了一整套服务和框架,用于构建可扩展、高可用性和分布式的企业级应用程序。本...