在我早期的编码时代,我倾向于将以类似方式运作的类分组.例如:
数据传输对象
对象A.
对象B.
对话框
对话A
对话B
过了一会儿,它开始让我感到沮丧的是,当我在应用程序的某个特定部分工作时,我必须四处跳转才能把它拼凑起来.
在过去的几年里,我倾向于按功能组织事物.通常共享的类,例如数据库对象,我仍然保持在一起.我认为这对于像网站这样的东西更有意义:
页面A.
图片
资源1
对话1
第B页
图片
资源2
对话2
这是最好的方法吗?有没有人有一个很好的经验法则可以遵循?
对于Java,包是重用的单位.
对于Python,模块(以及包)是重用的单位.
包装应该是一个独立的东西.
如果将所有数据传输对象放入一个大包中,则没有可重用的东西.您可能不希望所有这些数据传输对象定义.
如果您通过"实体"(模型,视图,控件,数据访问等)将事物放在一起,那么您就拥有了可以在其他应用程序中共享的可重用模块.