java – 删除重复代码的模式
作者:互联网
我一直在研究的Java项目与几个RDBMS集成在一起.我们在处理它们的方式之间减少代码重复的最明显方法是创建类型层次结构,如:
ThirdPartySoftware (superclass)
/|\
/ | \
TPS1 2 3
然而,这种方法最终导致TPS1,TPS2和TPS3的实现非常相似(但并不完全!).如果没有超类基本上意识到某些东西可能不同的地方,很难将所有功能都引入超类中,打败封装子类就意味着购买我们.
我们考虑过的一种方法是通过它们共享的功能来表示数据库,例如“支持功能X”和“不能执行功能Y”,但是并不完全清楚代码最终会以这种方式更易于维护,因为:
>许多怪癖只适用于一个数据库.
>我们无法想到足够的共享/可比(基本上,可抽象)功能,以使这个值得.
有没有人有其他建议我们可以减少子类之间的代码重复,也许使用设计模式?
解决方法:
http://en.wikipedia.org/wiki/Bridge_pattern
看起来只是你的情况,但无论如何,你的工作是找出什么是API.
或许,org.hibernate.dialect.Dialect会给你一些新的想法.
标签:java,oop,design-patterns,code-duplication 来源: https://codeday.me/bug/20190901/1780353.html