Template method和Factory Method模式

2020-08-20  本文已影响0人  飞絮搅青冥

书早就看完了,但是总结的文字却迟迟没有没有动笔,或许这就是拖延症吧。
这两章在内容上有很多相似的地方,我就放在一起去讲了。Template Method模式是指在父类中定义处理流程的框架,在子类中实现具体处理的模式。这种模式在我们系统中已经非常常见了,用我比较熟悉的order模块举例,在更新order的时候,更是在模版类AbstractUpdateOrderTransaction规定了基本流程之后还抽象出了几个模版类继承这个类,并且定义了一些不同情况下更多的流程细节,然后才是具体的子类去实现具体的方法。不过我又发现在我自己开发的时候,模版模式其实使用的不算多。感觉可能一些大的模块在设计之初可能使用的概率大些,而在我们日常开发中,面对的需求经常是零零散散的,这就让我们没有机会去使用它。希望在以后的开发中我能够多观察多留意,使用模版模式还是可以很清晰的帮助我们明确流程改善代码的。
Factory Method即工厂模式,用模版模式来构建生成实例的工厂。这种模式比较常见,在我们想要生成实例的时候总会去考虑一下。这样就可以把一些繁琐的初始化工作扔给工厂,而不用让每个子类的实现了。当然,工厂中还可以定义一些通用的方法。但是我仔细对比了一下书中的定义和我们现实中代码的实现,发现书中需要至少四个类来实现这种模式,需要有抽象的产品和创建者和具体的创建者和具体的产品。但是我们实现的时候很多时候就是把它当成一个构造器来用的,不需要使用到这么完整的功能。可能我同样需要仔细观察注意我们系统的具体需求和工厂模式的结合。
这两章看上去看简单,使用的东西也通俗易懂,但是结合到我们具体的工程中,我却还是发现问题多多。看来从理论到实践还是非常巨大的一个跨越。

上一篇下一篇

猜你喜欢

热点阅读