设计模式基础入门
Posted 爱学习的大鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式基础入门相关的知识,希望对你有一定的参考价值。
设计模式基础
设计模式简介
软件工程中,设计模式(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();
设计模式类型
设计模式可以分为三种类型
● 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。
● 结构型模式:把类或对象结合在一起形成一个更大的结构。
● 行为型模式:类和对象如何交互,及划分责任和算法。
类型 | 所包含设计模式 |
---|---|
创建型模式 | 单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式 |
结构型模式 | 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 |
行为型模式 | 模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、职责模式 |
以上是关于设计模式基础入门的主要内容,如果未能解决你的问题,请参考以下文章