jameszhang
CJSDN高级会员
发贴: 1594
积分: 111
|
于 2013-06-17 14:11
最近有点时间,所以看了下最紧迫要干的事,查了下竟然是重读设计模式,其实已经不知道看了多少遍,当然每次看都有不同的理解,这次看完怎么有种顿悟的感觉!?这种感觉比以前的要强烈得多。
解决了多个问题,如其中就有:过度使用设计模式,为什么会过度使用?怎么判断是过度使用设计模式? 我总结了下判断过度的标准:我们使用设计模式只有一个初衷,那就是简单方便,如果没有这个前提那就不要使用了,不然就成了脱裤子放屁,多此一举了。但是我们在看模式的时候发现他很麻烦,左继承右引用的,其实它在做一件事就是为了实现OOD里第一条定理OCP(Open-Closed Principle),当然也有为了固定模式应用的设计模式与OCP关系不大的如 Singleton,主要用于:保证一个类仅有一个实例,并提供一个访问它的全局访问点。这些模式应用单一,往往是刚接触就能掌握的,所以也是应用的最好的。那些复杂的模式是为了OCP,OCP为了使你的代码便于维护,所以好的程序,应用了设计模式,就是使得程序在后期便于维护。复杂的模式需要根据业务和系统分析来判断应用那种模式,比较难于驾驭,所以应用不当就会使程序不但没有维护简单,还会使得维护难上加难。 为什么会过度使用?是因为我们在编码时没有考虑OCP,而直接使用模式的结果。具体依据什么过度使用了什么模式,这个我还没完全想通。但是如果我们问自己在使用模式时如果没有跟OCP联系在一起考虑就应该是过度使用模式。 怎么判断是过度使用设计模式?当然是如果考虑OCP,根据Open的原则来使用设计模式就是正确使用了。当然这个使用过程是一个设计过程,就有熟练和不熟练,使用正确和不正确,这个就需要通过实践验证了。
这就是我最近读书的一点体会,希望先觉者拍砖,呵呵
"First they ignore u, then they laugh at u, then they fight u, then u will win
Mahatma Gandhi"
|