首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >围绕一个第三方图书馆设计我的域模型

围绕一个第三方图书馆设计我的域模型
EN

Stack Overflow用户
提问于 2010-09-21 22:02:59
回答 2查看 194关注 0票数 1

我正在用下面的用例开发扑克分析工具:

  1. 用户使用一种方法创建策略类:输入GameState,输出PokerAction
  2. 用户运行Analysis,它在各种策略子类(即各种策略)之间启动一个PokerGame
  3. PokerGame生成随机甲板
  4. PokerGame将GameState发送给策略
  5. 策略将PokerAction发送到PokerGame
  6. PokerGame更新GameState
  7. 游戏完成后(由PokerGame管理),将GameResult发送到Analysis
  8. 用户查看分析脚本的输出

有一个第三方库执行所有的PokerGame功能。它与我自己在某些领域的领域建模(例如卡片值等)完全不匹配。但是执行我所需要的大部分“硬编码”功能(即重要的步骤4-7)。

当面对这样一个库时,通用设计问题(消除了大量的硬编码,但可能会限制相关项目的未来设计选择),您是否倾向于将项目的其余部分建模到库中?您是否重构密钥库以符合您的域模型?或者是别的什么东西?

谢谢,

麦克

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-21 22:20:06

如果我真的觉得我的领域模型更适合我的未来,我会尝试创建一个抽象层来映射到第三方库和我自己的模型之间。这将使我现在可以利用这个库,同时为我提供灵活性,在将来用另一个第三方库或我创建的一个库来替换它。

看看这个设计模式列表,特别是适配器模式

票数 2
EN

Stack Overflow用户

发布于 2010-09-21 22:22:09

我不会将我的项目紧密地耦合到库中,而是尝试抽象功能,并在两者之间同时使用一个或多个对象。中介和/或正面模式在这里浮现在我的脑海中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3764851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档