微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

设计模式 – 在依赖关系中查找高级别和低级别模块,以应用依赖性倒置Principe

Dependency Inversion Principle说:

>高级模块不应该依赖于低级模块.都
应该取决于抽象.
>抽象不应该依赖于细节.细节应该取决于
在抽象.

我怎样才能在我的应用程序中找到高级和低级模块,对它们有什么清晰的定义吗?

解决方法

这通常是我引用它们的方式:

高级模块 – >此模块代表更多业务方面而非技术方面.它可以被称为抽象而不是实现,通常通过接口实现.

一些例子可能是:Registeraccount,PostAnswer,PostQuestion,AddComment,InsertComment.

由于低级模块代表更多的技术方面而不是业务方面.比如说我们采用InsertComment HLM. LLM应该是:

>打开数据库连接
>执行insert语句
>关闭数据库连接

高级模块可以是另一个上下文中的低级模块.再举一个例子,AddComment的LLM应该是:

>验证评论(例如15 char min) – >这将是另一个HLM
>将注释插入数据库 – >这将是另一个HLM(InsertComment)
>向相关用户添加通知 – >这将是另一个HLM

这同样适用于其他HLM.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐