按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。
创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:
工厂方法模式(Factory Method Pattern)
抽象工厂模式(Abstract Factory Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)
单例模式(Singleton Pattern)
结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式:
适配器模式(Adapter Pattern)
桥接模式(Bridge Pattern)
组合模式(Composite Pattern)
装饰者模式(Decorator Pattern)
外观模式(Facade Pattern)
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)
行为型模式用来对类或对象怎样交互和怎样分配职责进行描述,主要包含以下11种设计模式:
责任链模式(Chain of Responsibility Pattern)
命令模式(Command Pattern)
解释器模式(Interpreter Pattern)
迭代器模式(Iterator Pattern)
中介者模式(Mediator Pattern)
备忘录模式(Memento Pattern)
观察者模式(Observer Pattern)
状态模式(State Pattern)
策略模式(Strategy Pattern)
模板方法模式(Template Method Pattern)
访问者模式(Visitor Pattern)
开闭原则: 一个软件实体应该对扩展开放 对修改闭合。
里氏代换原则:任何能使用父类的地方一定能使用子类。
依赖倒转原则: 要依赖于抽象 不要依赖于实现。或者是抽象不应该依赖与细节,细节应该依赖于抽象。
合成聚合复用原则: 尽量使用合成聚合而不是继承去实现复用。
迪米特法则: 一个软件实体应该尽可能少的与其它实体发生相互作用。
接口隔离原则: 应当为客户提供尽可能小的单独的接口 而不应该提供大的综合性的接口。
分享到:
相关推荐
java 设计模式 一览表
软件设计模式概述GoF 的 23 种设计模式的分类和功能UML中的类图及类图之间的关系开闭原则——面向对象设计原则里氏替换原则——面向对象设计原则依赖倒置原则—
你在JAVA中的设计模式经验如何? Suggestion: Share your understanding of a few key patterns and their real-world applications. "I have extensive experience implementing Singleton, Factory, and Observer...
在设计规约方面,手册提出了一些通用的设计原则和模式,帮助开发者构建出更加稳定、可维护的软件架构。设计规约不仅仅关注单个模块的实现,还包括系统整体架构的设计考量。 手册的最后还附上了版本历史、专有名词...
14. **OpenEdit**:OpenEdit是一款基于Web的内容管理解决方案,提供所见即所得的Web编辑模式,支持多语言、多站点管理,具备商品目录、新闻发布、搜索等功能,采用Velocity、Dom4j、Spring、Lucene等技术栈,适合...
1.2.2 MVC设计模式的实现 5 1.2.3 MVC设计模式的优点 6 1.3 MY SQL 概述 6 1.4 SQL 介绍 7 1.4.1 SQL基础 7 1.4.2 SQL语句 8 1.5 开发环境 8 第2章 系统需求分析 9 2.1系统功能分析 9 2.1.1功能需求 9 2.1.2性能需求...
根据提供的文件信息,我们可以... - 设计模式的应用与案例分析。 通过以上知识点的梳理,可以为初学者提供一个全面且系统的Java学习路径,并涵盖了Web前端、数据库、分布式系统等多个方面,有助于构建扎实的技术基础。
7.1.4 Swing和MVC设计模式 144 7.1.5 Swing的单线程模型 145 7.2 练习 148 7.2.1 第1个Swing程序 148 7.2.2 外观感觉 150 7.2.3 事件侦听器 151 7.2.4 Swing基本控件和窗口 155 7.2.5 Swing容器 176 7.2.6 ...
2. **MVC设计模式**:多数Java Web项目采用Model-View-Controller架构,这种模式将业务逻辑、数据和用户界面分离,便于维护和扩展。分析源码中的Controller、Service、DAO层可以理解系统的工作流程。 3. **Spring...
7.1.4 Swing和MVC设计模式 144 7.1.5 Swing的单线程模型 145 7.2 练习 148 7.2.1 第1个Swing程序 148 7.2.2 外观感觉 150 7.2.3 事件侦听器 151 7.2.4 Swing基本控件和窗口 155 7.2.5 Swing容器 176 7.2.6 ...
7.1.4 Swing和MVC设计模式 144 7.1.5 Swing的单线程模型 145 7.2 练习 148 7.2.1 第1个Swing程序 148 7.2.2 外观感觉 150 7.2.3 事件侦听器 151 7.2.4 Swing基本控件和窗口 155 7.2.5 Swing容器 176 7.2.6 ...
### UML相关工具一览 #### 一、概述 UML(Unified Modeling Language,统一建模语言)是一种标准化的可视化建模语言,广泛应用于软件工程领域,用于描述软件系统的结构、行为以及它们之间的关系。UML工具是辅助...
根据提供的标题“计算机科学与技术专业一览”及描述“想知道计算机专业要学哪些专业课吗?这可能对您有用。”可以推断出该文档旨在详细介绍计算机科学与技术专业的核心课程与学习内容。以下是对该文档提及的专业课程...
最新版本在分支1.0里,使用了策略设计模式+反射框架Reflections,更好地处理了if else、文件类型扩展的问题 功能一览: 对各种文件可以进行解析,提取出文本内容,针对word、pdf等文件可以提取出目录 目前所支持的...
14. **实践教学**部分包括计算机拆装与维护、局域网组建与安装、数据库应用课程设计、面向对象程序设计课程设计、JavaScript课程设计、JSP应用开发/Android基础课程设计、数据结构课程设计、J2EE开源框架课程设计/...
1.1.2 中小企业办公模式的现状 2 1.2 研究意义 3 1.3 设计技术及开发环境 5 1.3.1 设计技术 5 1.3.2 开发环境 7 2 可行性分析 9 2.1 组织和管理可行性 9 2.2 经济可行性 9 2.3 技术可行性 9 3 需求分析 11 3.1 现行...
TDD鼓励程序员遵循“红-绿-重构”模式:首先写一个失败的测试(红色),然后编写足够的代码使测试通过(绿色),最后重构代码以提高可读性和维护性。 2. **清洁代码研讨会**:清洁代码强调编写易于理解、维护和扩展...
本篇文章将带你从运行环境搭建、系统设计、系统编码到整个系统的实现,对整个过程进行详细描述,特别适合作为程序员的进阶项目案列,同样也是高校学生毕业设计系统实现的不二之选! 技术选型 选择合适的技术,整个...
SmallAccount小小记账本,拥有基础记账功能,是一个JAVA (J2SE) 练手+自用的小项目。实现了基础记账功能 记账分类的增改删查 记账记录的增改删查 月度一览和月度每日统计(柱状图) 配置信息的修改与保存 (每月预算...
模型驱动软件开发模式(下) ...在“Zemindar”项目中,本文作者之一运用DSL实现了在运行期间终端用户的复杂算法和统计函数的设计。在这个例子中,DSL不必发明创造,并且第三方的现货供应的Java电子表格组件被...