关注博客有惊喜:www.yuque.com/sunrunzj/ji…
模式虽好,但是不会使代码更复杂吗? 代码复杂与否很多时候是主观的。人们对模式的熟悉程度极大地左右他们如何看待基于模式的重构。当他们不熟悉某个模式时,会认为模式过于复杂,而熟悉了某个模式之后,通常就不会这么认为。 模式是前人智慧的结晶,模式是在某一背景下某个问题的一种解决方案。重用这种智慧是非常有益的。通常,实现模式有助于去除重复、简化逻辑、澄清意图、提高灵活性。尽量地学习更多的模式,而不要认为模式太复杂而不使用模式。 对于一个场合到底用不用模式,这对所有的开发人员来说都是一个很纠结的问题。有时候,因为预见到需求上会发生的某些变化,为了系统的灵活性和可扩展性而使用了某种设计模式,但这个预见的需求偏偏没有,相反,没预见到的需求倒是来了不少,导致在修改代码的时候,使用的设计模式反而起了相反的作用,以至于整个项目组怨声载道。这样的例子,我相信每个程序设计者都遇到过。所以,基于敏捷开发的原则,我们在设计程序的时候,如果按照目前的需求,不使用某种模式也能很好地解决,那么我们就不要引入它,因为要引入一种设计模式并不困难,我们大可以在真正需要用到的时候再对系统进行改造,引入这个设计模式。 比如客户汇率发布模块优化为观察者模式,可以在迭代过程中实际需要时进行优化(have to)。如果一开始想不清楚必要性,则很容易给系统带来不必要的复杂度。