1.不要为了学习设计模式,而学《设计模式》。我们学习的时候看到的只是结果,并不了解过程和动机,也就是其他人在什么样的情况下做出这样的设计,而这个恰恰是各种教程、资料上学习不到的。所以再遇到问题时,尝试使用设计模式来解决这个问题。
2.避免过度使用设计模式,不要为了使用设计模式,而使用设计模式。设计模式只不过针对某些具体场景提供了一些效率较高的以复杂度换灵活性的手段而已,避免过度设计的关键是,你能正确评估未雨绸缪所引入的复杂度,相对于发生变动的可能性和破坏力,是否值得。而这种额外的复杂度会无形增加团队内其他成员理解上以及代码查错的困难。
3.如果你已经看过某个设计模式的描述,要正确使用它的最基本前提是,你能完全看懂GoF《设计模式》中对它的描述。很多“再谈”、“妙解”、“大话”之类的书用类比的方法降低设计模式的抽象性来帮助理解并没有实质性的意义——即使你觉得自己懂了,你的抽象思维和开发经验还未达到能正确使用这个模式的水平。