(根据MSDN Webcast相关课程整理)
模式:提供重复发生的问题的解决方法的核心。
设计模式:软件设计过程中某一类问题的一般性解决方案。
面向对象设计模式:面向对象设计过程中、特定场景下,类与相互通信的之间的常见的组织关系。
GOF 23种设计模式
好的设计:可以满足应对变化提高复用的设计。
源代码就是设计,软件设计最大的特点就是需求永远在变化。
理想化的软件开发模式:软件开发=系统设计(设计师)+代码编写(程序员)
设计模式不是算法技巧,不能照搬照用,只能活学活用,必须理解。
即使懂面向对象的语言机制,但如果理解不深入,也并不一定能运用到实际设计与开发中去。
(OOPL)面向对象三大实现机制:
封装:隐藏内部实现
继承:复用
多态:改写对象行为
新增一个员工类型而不需要修改原来的设计,只需要扩展一个工厂类中的方法。
扩展:新增一个功能,不修改原来的设计
改变:修改原来的设计
代码耦合:就是代码关系过于紧密,往往改变一小段代码,需要整个项目做很大的改动。在实际开发中应该尽量避免过高的耦合。接口、继承是解决高耦合的一种好方法。
对象封装了行为与状态即代码与数据。
面向对象设计三大原则:
1,针对接口编程而不是针对实现编程;
2,优先使用对象组合而不是类继承(is of关系);
3,封装变化点;
使用设计模式的正确方法:针对变化点,使用重构来得到模式而不是一步到位的应用所谓的模式
几条更具体的设计原则:
1, 单一职责原则(SRP):一个类应该只有一个引起它变化的原因
File类,FileInfor类
2, 开放封闭原则(OCP):类模式应该是可扩展的,但是不可修改的(对扩展开放,对更改封闭,尽可能新增)
3, Liskov替换原则(LSP):子类必须能替换它们的基类
4, 依赖倒置原则(DIP):高层模式不应该依赖于低层模块,二者应该依赖于抽象;抽象不应该依赖于实现细节,实现细节应该依赖于抽象
5, 接口隔离原则(ISP):不应该强迫客户程序依赖于它们不用的方法
接口与抽象类的区别:
接口是一份契约
抽象类提供一个框架
<完>
※※※※※※※※※※※※※※--我的程序人生--※※※※※※※※※※※※※※