设计模式基础入门

满堂花醉三千客,一剑霜寒十四州。这篇文章主要讲述设计模式基础入门相关的知识,希望能为你提供帮助。
设计模式基础 设计模式简介软件工程中,设计模式(design pattern)是对软件中普遍存在(反复出现)的各种问题,所提出的解决方案,是由Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人在1990年代冲工程建筑领域引入计算机科学的
设计模式解决问题

  • 客户提出新功能 【使用设计模式软件具有更好的扩展性】
  • 原公司程序员离职,项目接手【使用设计模式的代码更具有可维护性(可读性和规范性)】
发展过程面向对象(oo) --> 功能模块 【设计模式 + 算法】 --> 框架【多种设计模式】--> 架构【服务器集群】
设计模式的目的编写软件的过程中,程序面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性等多方面的挑战,设计模式用为让程序(软件)具有更好:
  • 代码重用性
  • 可读性
  • 可扩展性
  • 可靠性
  • 使程序呈现高内聚、低耦合的特性
设计模式七大原则
  • 单一职责原则 (Single Responsibility Principle)
  • 开放-关闭原则 (Open-Closed Principle)
  • 里氏替换原则 (Liskov Substitution Principle)
  • 依赖倒转原则 (Dependence Inversion Principle)
  • 接口隔离原则 (Interface Segregation Principle)
  • 迪米特法则(Law Of Demeter)
  • 组合/聚合复用原则 (Composite/Aggregate Reuse Principle)
详情解析→ 设计模式概念和七大原则
设计原则核心思想
  • 找出应用中可能需要变化之处,把它们独立出来,不要和哪些不需要变化的代码混在一起
  • 针对接口编程,而不是针对实现编程
  • 为了交互对象之间的松耦合设计而努力
UML类图 UML基本介绍
  • UML(Unified modeling language) (统一建模语言), 是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果
  • UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等,如下图:
设计模式基础入门

文章图片

依赖-dependency
public class PersonServiceBean private PersonDao personDao; public void save(Person person) public IDCard getIDCard(Integer personId) return null; public void modify() Department department = new Department();

设计模式基础入门

文章图片

泛化(继承)-Gerneralization
public abstract class DaoSupport public void save(Object entity) public void delete(Object id)

设计模式基础入门

文章图片

public class PersonServiceBean extends DaoSupport

实现-Realization
public interface PersonService public void delete(Integer id);

public class PersonServiceBean implements PersonService @Override public void delete(Integer id)

设计模式基础入门

文章图片

聚合-Aggregation整体和部分可分割
public class Computer private Mouse mouse; private Monitor monitor; public void setMouse(Mouse mouse) this.mouse = mouse; public void setMonitor(Monitor monitor) this.monitor = monitor;

设计模式基础入门

文章图片

组合-Composite整体和部分不可分割
public class Computer private Mouse mouse = new Mouse(); private Monitor monitor = new Monitor();

设计模式基础入门

文章图片

设计模式类型【设计模式基础入门】设计模式可以分为三种类型
● 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。
● 结构型模式:把类或对象结合在一起形成一个更大的结构。
● 行为型模式:类和对象如何交互,及划分责任和算法。
类型 所包含设计模式
创建型模式 单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式
结构型模式 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
行为型模式 模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、职责模式

    推荐阅读