假设我们有几个库。核心库和普通库有什么区别。如何认识和组织两者的责任。
+Common
-Class1
+Core
-Class2
+Lib1 has : Common
+Lib2 has : Core, Common
Common 应该是通用的(所有lib都使用它)?或者只对那些需要它的人来说很常见?
重构/创建项目时的好习惯是什么?
我并没有真正感受到Core和Common之间的差异。
答案 0 :(得分:11)
我认为这在很大程度上取决于您的特定应用。在单个集中式应用中,我认为Core
和Common
文件夹之间可能会有一些重叠。但最重要的是,它对您的应用程序有意义。不要觉得你需要拥有这些文件夹只是因为你已经在其他应用程序中看到过它......
对我来说,拥有Core
和Common
个文件夹在某些情况下很有意义 - 例如具有API和客户端的Web应用程序。您可能在API端有Core
文件夹, core 执行(业务逻辑),然后有一个Common
文件夹,其中包含您需要的一些内容API和客户端 - 例如,Http请求验证或Json转换器。
无论如何,在其他类型的应用中拥有Core
和Common
文件夹可能是有意义的。
例如,Core
文件夹将包含应用程序 central 的那些类 - 绝大多数商业模型类都在那里。
另一方面,在Common
文件夹中,您可以使用其他一些共享的类,但不能 central - 例如,Logger
或MessageSender
可能在那里......
至于您的代码结构小草案,我认为您的Core
包是要修改的包 - 为什么Lib1
不使用Core
?如果某些东西是 core ,通常是因为其他一切都需要它才能运行。如果您没有概念上 central 的代码,也许您可以删除Core
个包并仅保留Common
?
至于你的其他问题 - 我不认为Common
内容必须由所有其他软件包共享,但只有2个或更多软件包共享内容,可以认为< EM>共同