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 關注
- 125 瀏覽
添加回答
舉報