Prionnsabal sgaradh eadar-aghaidh (ISP), an ceathramh prionnsapal SOLID
Tha am prionnsapal de sgaradh eadar-aghaidh mar aon de còig prionnsabalan SOLID
de dhealbhadh a tha ag amas air nithean.
Bu chòir gum biodh grunn eadar-aghaidh nas lugha, nas cuimsichte aig clas.
An uairsin bidh na clasaichean cleachdaiche a 'taghadh an eadar-aghaidh a tha buntainneach dhaibh, a' lùghdachadh eisimeileachd neo-riatanach.
Ùine leughaidh tuairmseach: 3 minuti
ISP agus Laravel
Ann an Laravel, tha am prionnsapal de sgaradh eadar-aghaidh a’ cur cuideam air dealbhadh eadar-aghaidh cuimsichte agus co-leanailteach. An àite a bhith a 'cruthachadh eadar-aghaidh monolithic, tha e nas fheàrr eadar-aghaidh a dhealbhadh a tha sònraichte do fheumalachdan nan clasaichean buileachaidh.
Beachdaichidh sinn air eadar-aghaidh gu seirbheis caching. An àite a bhith a’ cruinneachadh a h-uile modh tasgadan ann an aon eadar-aghaidh, leig dhuinn an sgaradh stèidhichte air comas-gnìomh.
// CacheServiceInterface.php
interface CacheServiceInterface
{
public function store($key, $value);
public function retrieve($key);
}
buannachdan
- eisimeileachd nas lugha: le bhith a’ cur an gnìomh an eadar-aghaidh iomchaidh a-mhàin, chan eil clasaichean fo uallach dòighean neo-riatanach nach eil a dhìth orra.
- Cumail suas nas fhasa: Cha toir atharrachaidhean no cur-ris ri eadar-aghaidh buaidh air clasaichean neo-cheangailte, a’ leasachadh seasmhachd a’ chòd agad.
- Leughadh: còd a’ fàs nas so-leughaidh agus fèin-mhìneachaidh, leis gu bheil clasaichean soilleir mun ghnìomhachd aca.
mar eisimpleir
Chì sinn a-nis eisimpleir de bhith a ’cur an gnìomh prionnsapal sgaradh eadar-aghaidh ann an Laravel.
Seach gu bheil sinn airson àrd-ùrlar e-malairt a leasachadh. Tha diofar sheòrsaichean de luchd-cleachdaidh againn: luchd-ceannach agus luchd-rianachd. Tha comasan sònraichte aig na cleachdaichean sin:
- Luchd-ceannach:
- Seall bathar
- Cuir bathar ris a' chairt
- A’ dèanamh òrdughan
- Luchd-rianachd:
- Stiùirich bathar
- Stiùirich òrdughan
- Stiùirich luchd-ceannach
Ann an dòigh thraidiseanta, is dòcha gun cruthaich thu aon eadar-aghaidh mòr ainmichte UserInterface
tha sin a’ toirt a-steach a h-uile modh riatanach. Bheireadh seo gu ceangal neo-riatanach de ghnìomhachd, a’ dèanamh an t-siostam cho sùbailte.
interface UserInterface {
public function viewProducts();
public function addProductsToCart();
public function placeOrders();
public function manageProducts();
public function manageOrders();
public function manageCustomers();
}
Iarrtas ISP: A-nis leig dhuinn prionnsapal sgaradh eadar-aghaidh a chuir an sàs san t-suidheachadh seo. Cruthaich eadar-aghaidh fa leth airson CustomerInterface e AdminInterface
:
interface CustomerInterface {
public function viewProducts();
public function addProductsToCart();
public function placeOrders();
}
interface AdminInterface {
public function manageProducts();
public function manageOrders();
public function manageCustomers();
}
Cuir an gnìomh na h-eadar-aghaidh sin anns na clasaichean aca fhèin:
class Customer implements CustomerInterface {
// Implement methods specific to customers
}
class Admin implements AdminInterface {
// Implement methods specific to admins
}
Tha am prionnsapal de sgaradh eadar-aghaidh na bhun-bheachd bunaiteach a tha a’ moladh cruthachadh phàirtean bathar-bog cuimsichte agus seasmhach. Ann an Laravel, bidh cleachdadh a’ phrionnsapail seo a’ dèanamh cinnteach gu bheil bunait a’ chòd fhathast sùbailte, leudachail agus furasta a thuigsinn. Le bhith a’ sgaradh eadar-aghaidh stèidhichte air comas-gnìomh sònraichte, bidh thu a’ fuasgladh na slighe airson ailtireachd tagraidh nas eagraichte agus nas làidire.
Leughaidhean Co-cheangailte
Ercole Palmeri