1

给定一个由几个模块组成的 Play 应用程序,并假设它们彼此不知道任何事情,我想知道将它们的输出关联起来的正确方法是什么。

假设一个应用程序由一个主模块、一个认证模块和一个支付模块组成。认证模块提供注册和签名功能,支付模块提供信用卡支付功能,主模块运行业务。

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

任何建议将不胜感激。谢谢。

4

1 回答 1

1

给定一个由多个模块组成的 Play 应用程序,并假设它们彼此不知道任何信息

你为什么这么认为?模块可以相互依赖。模块化的主要原因之一是依赖关系很好地相互分离,以明确软件的哪个部分依赖于其他部分。另一个主要原因是可重用性。

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

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

我希望这些想法可以帮助您继续前进...

于 2013-02-28T11:58:25.153 回答