看《深入浅出设计模式》时,书中反复强调要针对抽象、面向接口进行编程,而不应该针对具体实现。
但是《Java编程思想》却有强调说优先使用类,然后才考虑接口。
初看好像挺矛盾的,其实不然。
在设计模式里提到的一些模式里,有一个很重要的前提,就是将容易变化和不易变化分离,然后,针对于变化部分引进设计模式。
有了这个前提后,那么就不会矛盾了,我们在使用模式之前一定要仔细斟酌是否有必要引入设计模式,如果不是必要的话,显然用直接的类实现才是首选。
否则,不管三七二十一,都引入模式设计,看似彰显自己的牛逼,其实显然无谓的增加了代码的复杂度,陷入了过度设计的境地了。