刘伟,2020
概述:4部分,26章。
P1:基础(1-2章)
P2:创建型设计模式(创建艺术,3-8章)
P3:结构型设计模式(组合艺术,9-15章)
P4:行为型设计模式(交互艺术,16-26章)
设计模式是面向对象软件开发的入门功夫。
设计面向对象软件比较困难,而设计可复用的面向对象软件就更加困难。
设计模式的艺术P1基础—第1章 概述
招式和内功
招式:java等编程语言、vs code等开发工具、jap等开发技术、Hibernate等框架技术
内功:数据结构、算法、设计模式、重构、软件工程等。
模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。
软件模式是指在软件开发过程中某些可重现问题的有效解决方法,其基础结构主要由四部分构成,包括问题描述(待解决的问题是什么)、前提条件(在何种环境或约束条件下使用)、解法(如何解决)和效果(有哪些优缺点)
设计模式(Design Pattern)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结,使用设计模式是为了可以重用代码,让代码更容易被他人理解并且提高代码的可靠性。
设计模式一般包含模式名称、问题、目的、解决方案、效果等组成要素,其中关键要素是模式名称、问题、解决方案和效果。
问题(Problem)描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因;解决方案(Solution)描述了一个设计模式的组成部分,以及这些组成部分之间的相互关系、各自的职责和协作方式,通常解决方案通过UML类图和核心代码进行描述;效果(Consequence)描述了模式的优缺点以及在使用模式时应权衡的问题。
根据某个模式主要是用于处理类之间的关系还是用于处理对象之间的关系,设计模式还可以分为类模式和对象模式。
学习设计模式将有助于初学者更加深入地理解面向对象思想。
如果将设计模式比喻成“三十六计”,那么每一个模式都是一种计策,它为解决某一类问题而诞生