第01期-面向对象设计模式与原则
了解 GoF 23 种设计模,设计模式与面向对象的关系,从编程语言直观了解面向对象,理解封装、继承和多态,从一个 C# 示例开始,重新认识面向对象,从设计原则到设计模式的演变,针对接口编程,而不是针对实现编程,优先使用对象组合,而不是类继承,封装变化点,使用重构得到模式,SRP 单一职责原,OCP 开放封闭原,LSP 里氏替换原则,DIP 依赖倒置原则,ISP 接口隔离原则。
接着看
第25期-设计模式总结
设计模式建立在对系统变化点的基础上进行,哪里有变化点,哪里应用设计模式,设计模式应该以演化的方式来获得,系统的变化点往往是经过不断演化才能准确定位,不能为了模式而模式,设计模式是一种软件设计的软力量,而非规范标准,不应夸大设计模式的作用。
第24期-Visitor访问者模式
类层次结构中可能经常由于引入新的操作,从而将类型变得脆弱,由于需求的改变,某些类层次结构中常常需要增加新的行为方法,如果直接在基类中做这样的更改,将会给子类带来很繁重的变更负担,甚至破坏原有设计。表示一个作用于某对象结构中的各元素的操作,它可以在不改变各元素的类的前提下定义作用于这些元素的新的操作。
第23期-Strategy策略模式
对象可能经常需要使用多种不同的算法,但是如果变化频繁,会将类型变得脆弱,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。策略模式定义一系列算法,把它们一个个封装起来,并且使它们可互相替换,该模式使得算法可独立于使用它的客户而变化。
第22期-State状态模式
对象拥有不同的状态,往往会行使不同的行为,某些对象的状态如果改变,其行为也会随之而发生变化,比如文档处于只读状态,其支持的行为和读写状态支持的行为就可能完全不同,如何在运行时根据对象的状态来透明地更改对象的行为,而不会为对象操作和状态转化之间引入紧耦合?状态模式允许一个对象在其内部状态改变时改变它的行为,从而使对象看起来似乎修改了其行为。