设计模式分为三类:1.创建型;2.结构型;3.行为型。
创建型:
Abstract Factory(抽象工厂)——对象创建型模式
Builder(生成器)——对象创建型模式
Factory Method(工厂方法)——对象创建型模式
Prototype(原型)——对象创建型模式
Singleton(单件)——对象创建型模式
结构型:
Adapter(适配器)——类对象结构型模式
Bridge(桥接)——对象结构型模式
Composite(组成)——对象结构型模式
Decorator(装饰)——对象结构型模式
FACADE(外观)——对象结构型模式
Flyweight(享元)——对象结构型模式
Proxy(代理)——对象结构型模式
行为型:
CHAIN OF RESPONSIBILITY(职责链)——对象行为型模式
Command(命令)——对象行为型模式
INTERPRETER(解释器)——类行为型模式
ITERATOR(迭代器)——对象行为型模式
Mediator(中介者)——对象行为型模式
MEMENTO(备忘录)——对象行为型模式
OBSERVER(观察者)——对象行为型模式
STATE(状态)——对象行为型模式
STRATEGY(策略)——对象行为型模式
TEMPLATE METHOD(模板方法)——类行为型模式
VISITOR(访问者)——对象行为型模式
创建型的模式在现代的程序设计里被广泛的应用,而后两大类好像更多的被用在设计领域框架中,(我认为框架也分为三类:基础底层框架,通用框架,领域框架。基础框架主要指我们的开发环境,比如.net2.0;通用框架指在使用基础框架中积累的一些通过化设计,主要是一些通用控件,也符合rup的迭代思想;领域框架指某个设计领域中比较独特设计,这个一个公司生存和发展的本钱,一个软件公司是否有发展前途主要就是看他的在他的主营领域里的积累,这个积累就是领域框架)。当然我看过的代码里更多的是没有使用任何一种设计模式,也不能说这就是一种不好的软件设计。相反,我认为最好的设计模式是在兼容扩展性、统一性、易用性的基础上,代码写的可读性越好,其设计越完美。中小软件公司的倒闭有时候正是某些唯一读得懂公司“命脉”的人的离开,从此公司的设计越来越不堪以至倒闭,所以一个设计的可读性也是非常主要的。
瞎扯了半天,就从抽象工厂开始,介绍设计模式,当然主要的是我自己也能做一个备份和梳理。
分享到:
相关推荐
这些实例提供了具体的设计模式、解决方案和实践经验,可以帮助开发者更好地理解和掌握概要设计的技巧和原则。无论是初学者还是经验丰富的工程师,都能从中受益,提升自己的设计能力和软件质量。因此,这份资源是学习...
设计模式是软件工程中的经典知识体系,它提供了一套通用的解决方案,用于解决在软件设计过程中反复出现的问题,从而提高代码的可重用性、可维护性和灵活性。学习和掌握设计模式对于软件开发者来说至关重要。以下是...
在IT行业中,概要设计是软件开发过程中的关键阶段,它位于需求分析和详细设计之间。概要设计的目的是将用户需求转化为系统架构和模块设计,为后续的详细设计和编码提供指导。以下是对给定文件中涉及的概要设计知识点...
内容概要:本文档介绍了三个经典的软件设计模式——单例模式(Singleton Pattern)、工厂模式(Factory Pattern)以及观察者模式(Observer Pattern)的具体实现,并给出了带有详细注释的C++代码范例。对每个设计模式都有...
9. 设计模式:文件中没有直接提到设计模式,但是可以推断,设计模式是软件设计中非常重要的一部分。设计模式可以帮助开发者解决软件设计中的常见问题。 10. 项目管理:文件中的项目信息表明了项目管理的重要性。...
文档:概要设计文档,可以帮我们处理程序性能瓶颈,程序移植性短板,也方便后期维护拓展,文档输出也方便后期交付和...7.3 设计模式 7.4 单元测试 8 可扩展设计 9 可靠性设计 9.1 故障隔离和自愈 9.2 数据可靠性
3. **数据结构与数据库设计**:文档可能包含对关键数据结构的设计,如表格、类或数据对象的定义,以及数据库模式的设计,包括表的结构、字段、索引等。 4. **算法设计**:对于关键操作,概要设计可能会提出初步的...
【概要设计说明书】是软件开发过程中的重要文档,它基于需求分析阶段的结果,对整个系统进行高层次的设计,包括模块划分、接口设计、数据结构和模块结构等方面。本篇概要设计说明书针对的是一个机票预定系统,该系统...
在软件开发过程中,概要设计是至关重要的一个环节,它为整个项目的开发提供了明确的蓝图和指导方向。概要设计通常发生在需求分析之后,详细设计之前,是将需求转化为具体实现方案的关键步骤。 概要设计的目标是定义...
### 软件概要设计模板知识点解析 #### 一、引言部分 **1.1 目的** - **目的说明**:本章节旨在明确文档的目的,即为不同的读者群体提供必要的信息,如项目管理人员、设计人员等,以便他们能够理解和应用软件概要...
- 数据库设计文档:包括数据库模式、表结构、索引和约束等。 - 接口设计文档:描述不同组件或系统之间的交互。 - 测试计划和测试用例:用于验证软件是否满足需求。 - 用户手册:指导用户如何使用软件。 通过以上...
例如,采用模块化设计、遵循设计模式、使用版本控制工具等。 7. **技术选型**:根据项目需求和团队技术栈,选择合适的编程语言、框架、库和工具,解释其选择理由。 8. **项目进度与资源分配**:概要设计中通常会给...
11. **运行设计**:描述了不同运行模式下的模块组合和控制方式,以及运行时间的分配。 12. **系统数据结构设计**:虽然不总是必需,但若涉及软件设计,这部分会详细描述数据结构的逻辑和物理设计,以及它们与程序的...
架构设计包括选择合适的架构模式(如微服务、SOA、三层架构等)、定义系统组件及其相互关系、确定数据流和控制流的方向。它还涉及到技术选型,如选用什么编程语言、框架、数据库等。一个好的架构设计能够保证系统的...
在软件开发过程中,概要设计和详细设计是两个至关重要的阶段,它们构成了系统设计的核心部分。以下是关于这两个设计阶段的详细解释以及与之相关的知识点。 **概要设计**: 概要设计,也被称为系统设计或高层设计,...
在概要设计中合理应用设计模式,可以提高代码的可读性和可维护性。 4. **体系结构设计**:这涉及选择合适的软件架构,如客户端-服务器、三层架构或微服务架构等。架构设计决策会影响系统的性能、可扩展性和可靠性。...
### 设计模式概要 设计模式是在软件设计中经常被使用的解决方案模板,它们代表了针对常见问题的最佳实践。本文档提供了几种重要的设计模式概述,并通过简单的类图来展示每种模式的基本结构。以下是对这些模式及其...
- **设计思想**:这部分阐述了设计的整体思路和原则,如采用的架构模式(例如,三层架构、微服务架构等),以及为何选择这种设计。 - **总体流程**:系统总体流程图描绘了数据和控制流如何在各个模块间传递,是...
"数据库课程设计概要.docx"概述了数据库课程设计的概要,包括课程设计目的、任务与要求、课程设计说明书等内容。下面是从这个文件中生成的相关知识点: 一、数据库课程设计目的 * 培养学生具有 C/S 和 B/S/S 模式...