Prionnsabal sgaradh eadar-aghaidh (ISP), an ceathramh prionnsapal SOLID

eadar-aghaidh dealachaidh

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

  1. 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.
  2. 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.
  3. 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:

  1. Luchd-ceannach:
    • Seall bathar
    • Cuir bathar ris a' chairt
    • A’ dèanamh òrdughan
  2. 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

        Autore