我的大多数项目都使用了一个有点原始的框架,但是我想到了一个通用的设计问题,我还没有解决。对于给定的应用程序,我应该将特定于应用程序的类结构与框架的结构分开,还是在框架之上构建不是一件坏事?
例如,假设我有一个带有基本 Controller 类的框架,并为我的应用程序的给定部分扩展了它。哪种安排最有意义,为什么?
类结构 A:
- 调试时直观、易于查找源文件。
- 文件命名/目录结构反映了类层次结构。
- Framework_Control“框架\Control.php” - Framework_Control_Index "Framework\Control\Index.php" - Framework_Control_Home "Framework\Control\Home.php" - Framework_Control_Contact "Framework\Control\Contact.php" - Framework_Control_About "Framework\Control\About.php"
类结构 B:
- 保持框架模块化,易于更换/更新。
- 给目录结构增加了一些复杂性,目录/文件命名不再遵循类层次结构。
- Framework_Control“框架\Control.php” - Application_Control_Index "Application\Control\Index.php" - Application_Control_Home "应用\控制\Home.php" - Application_Control_Contact "Application\Control\Contact.php" - Application_Control_About "Application\Control\About.php"
总的来说,我知道这将取决于个人喜好,但我想确保在决定走哪条路之前权衡所有利弊。它实际上归结为类命名和目录结构,因为在任何一种情况下,实际的层次结构都将保持不变。