设计模式:类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式等方面
1、抽象思维:
面向对象、组件封装、设计模式、架构模式
底层思维:
语言构造、编译转换、内存模型、运行时机制
2、处理复杂性的通用技术:
(1)分解
(2)抽象:忽视它的非本质细节,处理泛化和理想化了的模型
3、面对对象设计原则:
(1)依赖倒置原则
抽象不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定)
(2)开放封闭原则
对扩展开放,对更改封闭
(3)单一职责原则
一个类应该仅有一个引起变化的原因
(4)Liskov替换原则(LSP)
子类必须能够替换它们的基类
(5)接口隔离原则
接口应该小而完备
(6)优先使用对象组合,而不是类继承
(7)封装变化点
(8)针对接口编程,而不是针对实现编程
产业强盛的标志:接口标准化
4、重构、重构与模式
5、设计模式分类:
一、"组件协作"模式:晚期绑定,来实现框架与应用之间的松耦合
(1)Template Method(模版方法)
一个操作中的算法的骨架(稳定),而将一些步骤延迟(变化)到子类中
(2)Strategy(策略模式)
if...else,情况不固定,想到策略模式
(3)Observer/Event(观察者模式)
Event,事件,C#中,独立地改变目标与观察者,使二者的依赖关系达至松耦合。基于事件的UI框架中非常常用的设计模件
(比如我们要添加进度条(通知方式))通知方式的多样性,进度条,点...
二、“单一职责”模式 (划清责任)
1、Decorator(装饰模式)
原本:继承、一直继承‘过度使用、子类膨胀
现在:通过(组合)给一个对象添加额外的职责
Decorator模式比子类(继承)更加灵活(消除重复代码、减少子类个数)
纸质版已完成,此处待完善...
网友评论