Ilana Iyasọtọ Ni wiwo (ISP): Awọn alabara ko yẹ ki o fi agbara mu lati dale lori awọn atọkun ti wọn ko lo.
Ilana Iyipada Igbẹkẹle (DIP): Awọn ipele ti o ga julọ ko yẹ ki o dale lori awọn ipele kekere; mejeeji yẹ ki o dale lori awọn abstractions.
Ni akojọpọ, awọn ilana apẹrẹ nfunni awọn solusan kan pato, lakoko ti awọn ipilẹ SOLID pese awọn itọnisọna gbogbogbo fun apẹrẹ sọfitiwia to dara julọ
Awọn anfani ti Lilo Awọn awoṣe Apẹrẹ
Atunlo: Awọn ilana apẹrẹ jẹ awọn atunṣe atunṣe ti o le lo si awọn iṣẹ akanṣe pupọ. Nipa lilo awọn ilana ti iṣeto, awọn olupilẹṣẹ ṣafipamọ akoko ati ipa, nitori wọn ko nilo lati tun kẹkẹ pada fun awọn iṣoro ti o wọpọ.
Definition ti faaji: Awọn apẹẹrẹ apẹrẹ ṣe iranlọwọ defiliti awọn faaji ti awọn software eto. Wọn pese ọna ti eleto lati yanju awọn italaya apẹrẹ kan pato, ni idaniloju aitasera ati iduroṣinṣin.
Flessibilità: Awọn awoṣe ngbanilaaye irọrun ni ibamu si awọn iwulo iyipada. Nigbati awọn ẹya tuntun tabi awọn ayipada ba nilo, awọn olupilẹṣẹ le yipada tabi fa awọn awoṣe ti o wa laisi fifọ gbogbo eto naa.
Awọn alailanfani ti lilo Awọn awoṣe Oniru
Eko eko: Imọye ati lilo awọn ilana apẹrẹ nilo imọ ati iriri. Alakobere Difelopa le ri o soro lati ni oye awọn agbekale ki o si yan awọn ọtun awoṣe fun a fi isoro.
Lilo pupọ: Nini awọn ilana apẹrẹ ti o wa ni imurasilẹ le ja si aiṣedeede pe gbogbo awọn iṣoro le ṣee yanju nipa lilo awọn ilana ti o wa tẹlẹ. Lilo awọn awoṣe ti o pọju le ṣe idinwo iṣẹdanu ati ṣe idiwọ wiwa fun dara julọ, awọn solusan imotuntun diẹ sii.
Idiju- Diẹ ninu awọn ilana apẹrẹ ṣafihan idiju afikun sinu ipilẹ koodu. Awọn olupilẹṣẹ gbọdọ wa iwọntunwọnsi laarin lilo awọn ilana ni imunadoko ati ṣiṣe koodu ni oye.
Ni akojọpọ, awọn ilana apẹrẹ nfunni ni awọn anfani pataki ni awọn ofin ti atunlo, faaji ati irọrun, ṣugbọn lilo wọn yẹ ki o jẹ idajọ lati yago fun idiju ti ko wulo ati igbelaruge ẹda.
Apeere ti Apẹrẹ Oniru ni Laravel: Singleton
Ilana apẹrẹ Singleton ṣe idaniloju pe kilasi kan ni apẹẹrẹ kan nikan ati pese aaye titẹsi kan. Ni Laravel, awoṣe yii ni igbagbogbo lo lati ṣakoso awọn orisun gẹgẹbi awọn asopọ data tabi awọn eto atunto.
Eyi ni apẹẹrẹ ipilẹ ti imuse ilana Singleton ni PHP:
iṣẹ ikọkọ __construct() { // Ikọkọ Constructor lati se taara instantiation }
iṣẹ aimi ti gbogbo eniyan getInstance(): ti ara ẹni { ti (asan === ara :: $ apeere) { ara :: $ apeere = titun ara (); } pada ara :: $ apeere; }
// Awọn ọna miiran ati awọn ohun-ini le ṣe afikun nibi }
// Lilo: $singletonInstance = Singleton :: getInstance (); // Bayi o ni kan nikan apeere ti Singleton kilasi
// Lilo apẹẹrẹ ni Laravel: $ database = DB :: asopọ ('mysql'); // Gba apẹẹrẹ asopọ data pada (ẹyọkan)
Ninu koodu apẹẹrẹ:
Kilasi Singleton ni olupilẹṣẹ ikọkọ lati ṣe idiwọ imuduro taara;
Ọna getInstance () ṣe iṣeduro pe apẹẹrẹ kan nikan ti kilasi wa;
O le ṣafikun awọn ọna miiran ati awọn ohun-ini si kilasi Singleton bi o ṣe nilo;
Eiyan iṣẹ Laravel tun nlo ilana Singleton lati ṣakoso awọn igbẹkẹle kilasi ati ṣe abẹrẹ igbẹkẹle. Ti o ba ṣiṣẹ laarin Laravel, ronu nipa lilo apoti iṣẹ rẹ ati fiforukọṣilẹ kilasi rẹ pẹlu olupese iṣẹ fun awọn ọran lilo ilọsiwaju diẹ sii.