设计模式还是要应用到实际的业务中才能发挥它的价值, Alan Shalloway 提到一个观点:无法预测哪里有变化,但能知道哪里可能有变化。平时我们在做业务需求开发时,要有这种识别变化的意识,先不要陷入面向过程的思维中,不要一上来就考虑如何去实现,而是思考它是什么,会有哪些变化,比如对象的数量、对象的外观、对象的种类……当把这些思考清楚之后,才能设计得更合理。 比如笔者之前做清结算业务时,投资人理财到期后,会将本息金额的钱打给投资人,刚开始只有大华支付通道,这里就要想到一个问题,大华支付只是一种具体的实现方式,还会有没有其它的支付方式,如果有就要做抽象设计,设计一个通用的支付模板类,每接一种新的支付通道时,只用重写模板类中的几个方法即可,后续又接了民生银行支付、连连支付。