大话设计模式这本书写的非常有创意,非常适合我这种新手。用了大约两个星期的时间看完了这本书,代码全部都敲了一遍,虽然没有一点基础,但是还是领略到了面向对象的威力。看完之后再也不想使用面向过程的语言了,比如VB,想当初我也是VB狂热者,但是现在我几乎不想再使用了。现在只想着写点什么用上它几种设计模式。
可能是第一次接触这些东西,有些感觉看懂了,但是很难应用到实际编程中;有些感觉没看懂,但是还能说出那么点东西来。听七期学长说他们当初看了两遍,要求能背着写出代码,不知道这次我们八期要求怎么这么低,我只看了一遍,但是看的非常仔细。我深深的知道,设计模式仅仅靠看一本是无法理解的,何况是一本入门级的书?我即听从米老师的教诲:不要在没必要细节上浪费时间;又综合了自己的看法:有些东西还是弄明白点比较好。结果就这么着把这本书看完了,感觉没记住多少东西,现在冒然写总结其实我总结不出什么来,现在的一切都很模糊;但是如果没有总结,这本书就白看了,所以我把每一个模式的定义和简单理解罗列一下。这些只是我作为一个初学者的理解,难免非常浅显,而且很可能有错误,见谅!
1. 简单工厂模式:定义:用一个单独的类完成创建对象的过程,即工厂类。理解:生产对象的工厂,由参数生成相应的对象,容易扩展,扩展的同时不需要也不影响现有功能。
2. 策略模式:定义:它定义了算法家族,分别封装起来,让它们直接可以互相替换,此模式让算法的比啊好,不会影响到使用算法的客户。理解:可以理解为“受保护的简单工厂模式”,把简单工厂模式封装起来,通过协调类调用工厂,对客户端完全屏蔽工厂。
3. 单一职责原则:定义:就一个类而言,应该仅有一个引起它变化的原因。理解:类的职责单一化,减少类的负担。
4. 开放-封闭原则:定义:软件实体(类、模块、函数等等)应该可以扩展,但是不可更改。理解:对修改封闭,对扩展开放。解决方法是抽象,用抽象是隔离变化。
5. 依赖倒转原则:定义:高层模块不应该依赖于底层模块,两个都应该依赖于抽象。抽象不应该依赖细节,细节应该依赖抽象。理解:依赖倒转原则是“封闭-开放”原则实现的方针、指导思想。