概述
概述
设计模式:可以重复利用的解决方案(例如你在 A 项目中遇到一个问题,你用了一种解决方案来解决该问题。后面在 B 项目中又遇到类似的问题,于是可以照搬之前 A 项目的解决方案来解决 B 项目中遇到的问题)
设计模式(Design Pattern)是一套被广泛接受的、经过试验验证的、可反复使用的基于面向对象的软件设计经验总结,它是软件开发人员在软件设计中,对常见问题的解决方案的总结和抽象。设计模式是针对软件开发中常见问题和模式的通用解决方案
设计模式有哪些?
GoF 设计模式:《Design Patterns:Elements of Reusable Object-Oriented Software》(既后述《设计模式》一书),由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995)。这几位作者常被称为四人组(Gang of Four)
架构设计模式(Architectural Pattern):主要用于软件系统的整体架构设计,包括多层架构、MVC 架构、微服务架构、REST 架构和大数据架构等
企业级设计模式(Enterprise Pattern):主要用于企业级应用程序设计,包括基于服务的架构(SOA)、企业集成模式(EIP)、业务流程建模(BPM)和企业规则引擎(BRE)等
领域驱动设计模式(Domain Driven Design Pattern):主要用于领域建模和开发,包括聚合、实体、值对象、领域事件和领域服务等
并发设计模式(Concurrency Pattern):主要用于处理并发性问题,包括互斥、线程池、管道、多线程算法和 Actor 模式等
数据访问模式(Data Access Pattern):主要用于处理数据访问层次结构,包括数据访问对象(DAO)、仓库模式和活动记录模式等
GoF 设计模式的分类?
创建型:主要解决对象的创建问题
结构型:通过设计和构建对象之间的关系,以达到更好的重要性、扩展性和灵活性
行为型:主要用于处理对象之间的算法和责任分配