主要资料来源:https://blog.csdn.net/lovelion/article/details/17517213
招式:编程语言、开发工具、开发技术、框架技术
内功:数据结构、算法、设计模式、重构、软件工程
设计模式起源于建筑领域,Christopher Alexander(克里斯托弗.亚历山大)---- 模式之父。
对每一个模式(pattern)都从Context(前提条件)、Theme或Problem(目标问题)、solution(解决方案)三个方面进行描述。
定义:模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。(A pattern is a successful or efficient solution to recurring problem within a context.)
“四人组(Gang of Four 简称Gof)” -- 《设计模式:可复用面向对象软件的基础》。
软件模式的基础结构:问题描述、前提条件、解法和效果(优缺点和使用时的权衡)。
设计模式主要分为三种:创建型、结构性和行为型。
创建型:描述如何创建对象。
结构型:描述如何实现类或对象的组合。
行为型:类或对象怎样交互以及怎样分配职责。
GoF23种设计模式 + 简单工厂模式 = 24中设计模式。
创建型:单例、简单工厂、工厂方法、抽象工厂、原型、建造者。(6种)
结构型:适配器、桥接、组合、装饰、外观、享元、代理。(7种)
行为型:职责链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模版方法、访问者。
主要用途:
(1)提高开发设计效率
(2)通用形式便于沟通交流
(3)兼顾系统的可重用性和可扩展性
(4)便于他人理解系统。
(5)更深入理解面向对象,阅读源码。
(6)不要滥用模式,不要试图在一个系统用上所有的模式。
(7)不会在开发中灵活运用一个模式基本等于没学。少说多做
在学习每一个设计模式时至少应该掌握如下几点:这个设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,在使用时要注意什么。
网友评论