1 回答
TA贡献1833条经验 获得超4个赞
使用接口和抽象类来实现S O LID的开闭原则
识别一个接口。ClassA想从ClassB得到什么
概括 - 当您拥有一个接口时,您将能够识别大多数需要实现它的类将需要的常见操作。(不要在这里尝试过多的面向未来,否则很可能会适得其反)
注意:如果您这样做是希望避免重构代码。忘了它。:) 这只会使事情变得更加容易,这已经是一个巨大的好处。
避免使用钩子来实现结构和/或行为模式。
编辑> Package 和 Hook 都不是 Laravel 或设计模式术语的一部分。
这本身应该给你一个提示。
让我来玩一个猜谜游戏:
<?php
PackageInterface {
public function enable();
public function disable();
public function isEnabled();
public function getHooks(): HookInterface[];
}
HookInterface {
public function injectView();
// or maybe
public function injectIntoView($view);
}
这完全取决于您何时加载包并将某些内容注入视图中。
例如,您可以在客户自己启用该包时使用该enable()包$invoice->wasPaid()$customer->enable($package)
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报