鲍勃叔叔的面向对象原则(http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod)描述了:
该条规定:
在这种情况下,包是一个可以交付的二进制文件,比如.jar文件,或者是一个dll,而不是像Java或C++名称空间这样的名称空间。
这是否意味着6“包原则”根本不适用于包(这些包是用关键字包定义的)?这是否意味着以这种方式应用这些规则是错误的?如果是的话,你能指出在哪里可以找到这样的命名空间包原则吗?
发布于 2016-02-16 05:51:59
是的,包原则可以应用于其他语言中的单个Java包或类的等效分组(或其他单个软件单元)。
Martin系列文章中关于包原则的第一篇文章,关于版本重用等效原则的文章。解释说,这些原则是关于类的分组。它任意选择"package“作为这些分组的名称,然后提到在Ada和Java中使用了这个词,用于这些语言中特定类型的分组。我的结论是,这些原则适用于任何类的分组,包括Java包。
其他人已经成功地将包原则应用于Java包。JDepend根据Java的包原则计算度量。我仍然怀念出色的工具最优顾问,它将这些指标显示在包依赖图上,作为重构的辅助工具。我发现这两种方法在识别违反包原则的包以及通过重构修复这些违规行为时都很有用,比如将类移到适当的包中。
https://stackoverflow.com/questions/25932857
复制相似问题