我正在用下面的用例开发扑克分析工具:
有一个第三方库执行所有的PokerGame功能。它与我自己在某些领域的领域建模(例如卡片值等)完全不匹配。但是执行我所需要的大部分“硬编码”功能(即重要的步骤4-7)。
当面对这样一个库时,通用设计问题(消除了大量的硬编码,但可能会限制相关项目的未来设计选择),您是否倾向于将项目的其余部分建模到库中?您是否重构密钥库以符合您的域模型?或者是别的什么东西?
谢谢,
麦克
发布于 2010-09-21 22:20:06
如果我真的觉得我的领域模型更适合我的未来,我会尝试创建一个抽象层来映射到第三方库和我自己的模型之间。这将使我现在可以利用这个库,同时为我提供灵活性,在将来用另一个第三方库或我创建的一个库来替换它。
看看这个设计模式列表,特别是适配器模式。
发布于 2010-09-21 22:22:09
我不会将我的项目紧密地耦合到库中,而是尝试抽象功能,并在两者之间同时使用一个或多个对象。中介和/或正面模式在这里浮现在我的脑海中。
https://stackoverflow.com/questions/3764851
复制相似问题