0

假设有一个控制器(我们称之为“主”)和一个执行一堆(10)功能的关联模型。

我想知道在加载第二个模型以执行主模型中不存在的一个功能与仅在主模型中添加该功能(复制代码)时相关的开销。

加载第二个模型的优点是代码更少/更容易维护。

缺点是加载第二个模型的开销。

我对开销的恐惧是否有效?我是非 CS 人员,只是想知道这里的最佳做法是什么。

谢谢,蒂姆

4

2 回答 2

5

不要重复自己。如果你这样做,你只会让你的生活变得比在维护你的代码时更难。良好 OOP 的原则鼓励您创建具有特定职责范围的类,并使用该类来处理它所构建的情况。将 X 类中的功能复制到 Y 类中违反了这一原则。如果 Y 类需要 X 类做某事,那么这意味着 Y 类需要与 X 类的实例对话,或者 Y 类应该从 X 类继承。

充其量也将是一个加载其他类对性能的影响应该可以忽略不计,当然没有什么值得担心的。

于 2012-04-10T06:20:17.597 回答
1

这取决于您如何实例化您的对象。对于 PHP 类,您可以定义创建对象时要加载的内容(请参阅构造函数)。大多数时候,是的,最好有一个干净清晰的代码进行维护,但有时出于业务原因,最好复制一些代码,即使它很难维护。我在这里只阅读了开发人员的观点(我是……),但根据我的观点,一个好的开发人员应该始终首先考虑功能/业务,即使这意味着他需要生成更多代码以获得更好的用户体验或有时他需要编写一些肮脏/快速/难以维护的代码,但它适用于用户!

于 2012-04-10T06:16:40.393 回答