如何设计多模块播放应用程序

时间:2013-02-28 08:39:51

标签: playframework-2.0

鉴于Play应用程序由几个模块组成,假设他们彼此不知道,我想知道关联它们的输出的正确方法是什么。

假设应用程序包含主模块,身份验证模块和支付模块。验证模块提供注册和签名功能,支付模块提供通过信用卡支付的功能,主模块运行业务。

当用户注册时,注册表单 - 这是身份验证模块的一部分 - 要求输入用户名,密码,地址等...并希望还有信用卡详细信息。信用卡详细信息应由付款模块管理,但如果用户可以在注册时提供信用卡信息,则会很好。这意味着身份验证模块需要支付模块提供的功能来注册新的信用卡......主模块应该以某种方式启用此功能。

任何建议都会非常感激。感谢。

1 个答案:

答案 0 :(得分:1)

  

给出一个由几个模块组成的Play应用程序并假设   他们对彼此一无所知

你为什么这么认为?模块可以相互依赖。模块化的一个主要原因是依赖关系彼此很好地分开,以便清楚地知道软件的哪个部分依赖于其他部分。 另一个主要原因是可重用性。

例如:通常我在每个游戏项目中使用相同的身份验证模块。另外,我通常为我的数据层创建一个模块,我的意思是我将所有实体分离到另一个模块,而使用此模型实体的其他模块可以依赖它。

另一个建议:将您想要更换的组件放在一个单独的模块中。例如,我有一个短信发送服务(具有通用接口)的不同实现,在他们自己的模块中实现。因此,如果我不想替换sms实现,我需要做的就是替换核心项目的Build.scala中的依赖项。

我希望这些想法能帮助你前进......