一 设计模式的基本概念:
模式:指事物的标准样式 或者 理解成 针对特定问题的可重用解决方案。
设计模式,是在特定问题发生时的可重用解决方案。
设计模式一般用于大型项目中。
大型项目中,设计模式保证所设计的模块之间代码的灵活性和可复用性
但是设计模式 : 都需要以增加代码的复杂性为代价。
二 设计模式的准则
2.1 抽象思维:将整个代码中不变的部分抽取出来,切断两个模块之前的耦合。
a. 能从事物中抽取出或者说提炼出一些本质的,共性的内容,把这些共性的内容组合到一起(封装)。下面两种解决问题复杂性的方法可以借鉴:
(1)分解法:把一个复杂的事物分解成若干个比较简单的事物。这样人们更容易理解。
(2)抽象法:从每个简单的十五中,抽象出本质的内容封装起来:
b)抽象思维的目的:
//设计原则:减少代码的重复性,方便代码的扩展性(日后增加新动物品种)
//做抽象的原则:把比较稳定的,不怎么变化的内容作为一个模块,单独定义出来。
c)抽象思维的检验:
//如何检验某种抽象是否做的不错呢?
//c.1)项目需求如果发生更改,不更改现有的代码,通过增加新代码应对需求变更。
//继承特性,一般用于表达两种意思:(1)抽象机制:抽取出本质的、共性的内容放到基类中;(2)可重用机制:基类中的一些内容,直接拿过来使用。
//c.2)类中内容太多时,就要对类进行拆分,不要把毫不相关的内容写到一个类中。
//面向对象程序设计原则之一:单一职责原则------一个类只干好一件事,承担好一种责任,不然就会牵扯太多。
2.2灵活性:
1.修改现有的部分,不会影响到其他部分的内容
2.新增新内容时,尽量少修改,或者不需要改动系统现有的内容
2.3可复用性
可复用:可以重复使用,可以到处用(可以被很多地方调用);
三 学习设计模式的步骤和方法:
//a)掌握设计模式的基本概念和该设计模式要解决的具体问题。
//b)动手实际编写相关的测试代码并进一步体验该模式的工作过程。一定不要略过这步。
//c)编码过程中不断思考和总结设计经验,对于设计不合理的部分及时调整和更改。
//d)在实际的项目中,细致大胆的采用设计模式进行实战,尤其注意多个设计模式解决问题时模式之间的关联和配合,不要怕出错。