10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a Dhéanamh

10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a Dhéanamh

Go minic buailim le forbróirí nár chuala faoi phrionsabail SOLID (muid Labhair fúthu go mion anseo.. - Transl.) nó ríomhchlárú réad-dhírithe (OOP), nó cloiste, ach ná húsáid go praiticiúil iad. Déanann an t-alt seo cur síos ar na buntáistí a bhaineann le prionsabail OOP a chuidíonn leis an bhforbróir ina chuid oibre laethúil. Tá cuid acu ar eolas go maith, cuid eile nach bhfuil an oiread sin, mar sin beidh an t-alt úsáideach do thosaitheoirí agus do ríomhchláraitheoirí a bhfuil taithí acu cheana féin.

Meabhraímid: do léitheoirí uile "Habr" - lascaine de 10 rúbal nuair a chláraíonn siad in aon chúrsa Scilbox ag baint úsáide as an gcód bolscaireachta "Habr".

Molann Skillbox: Cúrsa oideachais ar líne "Forbróir Java".

TIRIM (Ná Déan Tú Féin arís)

Prionsabal simplí go leor, a bhfuil a croílár soiléir ón ainm: "Ná déan tú féin arís." Maidir le ríomhchláraitheoir, ciallaíonn sé seo an gá atá le cód dúblach a sheachaint, chomh maith leis an gcumas astarraingt a úsáid san obair.

Má tá dhá chuid athfhillteacha sa chód, ba chóir iad a chomhcheangal in aon mhodh amháin. Má úsáidtear luach códaithe crua níos mó ná uair amháin, is fiú é a thiontú go tairiseach poiblí.

Tá sé seo riachtanach chun an cód a shimpliú agus é a dhéanamh níos éasca a choimeád ar bun, arb é príomhthasc OOP é. Níor cheart duit mí-úsáid a bhaint as an aontas ach an oiread, mar ní éireoidh leis an gcód céanna an tseic le OrderId agus SSN araon.

Athrú Clúdach

Tá táirgí bogearraí formhór na gcuideachtaí ag athrú i gcónaí. Ciallaíonn sé seo gur gá an cód a athrú, ní mór é a choinneáil. Is féidir leat do shaol a dhéanamh níos éasca le hionduchtú. Ligfidh sé seo duit do bhunchód reatha a thástáil agus a chothabháil ar bhealach níos éifeachtaí. Seo sampla amháin.

Má tá tú ag scríobh i Java ansin príobháideach a shannadh do mhodhanna agus d'athróga de réir réamhshocraithe.

Prionsabal na hoscailteachta / gar

Is féidir an prionsabal seo a mheabhrú go héasca tríd an ráiteas seo a leanas a léamh: "Ba cheart go mbeadh aonáin bogearraí (ranganna, modúil, feidhmeanna, etc.) oscailte le haghaidh síneadh, ach dúnta le haghaidh modhnú." Go praiticiúil, ciallaíonn sé seo gur féidir leo a n-iompraíocht a athrú gan an cód foinse a athrú.

Tá an prionsabal tábhachtach nuair a éilíonn athruithe ar an gcód foinseach athbhreithniú, tástáil aonaid agus nósanna imeachta eile. Ní athraíonn cód a chloíonn leis an bprionsabal oscailte/dúnta nuair a leathnaítear é, agus mar sin bíonn i bhfad níos lú fadhbanna leis.

Seo sampla de chód a sháraíonn an prionsabal seo.

10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a Dhéanamh

Más gá duit rud éigin a athrú ann, tógfaidh sé go leor ama, mar beidh ort na codanna uile den chód a bhfuil baint acu leis an blúire atá ag teastáil a athrú.

Dála an scéil, tá oscailteacht-dúnta ar cheann de na prionsabail a bhaineann le SOLID.

Prionsabal Freagrachta Aonair (SRP)

Prionsabal eile ón sraith SOLID. Deir sé nach bhfuil "ach cúis amháin a bhfuil athrú ranga mar thoradh air." Níl ach tasc amháin ag an rang. D'fhéadfadh go mbeadh roinnt modhanna ann, ach ní úsáidtear gach ceann acu ach amháin chun fadhb choitianta a réiteach. Níor cheart do gach modh agus maoin freastal ach air seo.

10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a Dhéanamh

Is é luach an phrionsabail seo ná go scaoileann sé an nasc idir píosa amháin bogearraí agus an cód. Nuair a chuirtear níos mó ná feidhmiúlacht amháin le rang tugtar isteach gaol idir an dá fheidhm. Dá bhrí sin, má athraíonn tú ar cheann acu, tá seans iontach a spoil an dara ceann, a bhaineann leis an gcéad cheann. Agus ciallaíonn sé seo na timthriallta tástála a mhéadú chun gach fadhb a aithint roimh ré.

Prionsabal Inbhéartaithe Spleáchais (DIP)

10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a Dhéanamh

Is sampla cód é an méid thuas ina mbraitheann an AppManager ar an EventLogWriter, a bhaineann go dlúth leis an AppManager ar a seal. Má theastaíonn bealach eile uait chun an fógra a thaispeáint, bíodh sé ina bhrú, SMS, nó ríomhphost, ní mór duit an rang AppManager a athrú.

Is féidir an fhadhb a réiteach le DIP. Mar sin, in ionad AppManager, iarraimid EventLogWriter, a instealladh ag baint úsáide as an gcreat.

Is féidir modúil aonair a athsholáthar go héasca le modúil eile trí DIP a athrú tríd an modúl spleáchais. Mar sin is féidir modúl amháin a athrú gan cur isteach ar na cinn eile.

Comhdhéanamh in ionad oidhreachta

10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a DhéanamhIs iad an dá phríomhbhealach chun cód a athúsáid ná oidhreacht agus comhdhéanamh, gach ceann acu lena buntáistí agus a míbhuntáistí féin. De ghnáth is fearr an dara ceann toisc go bhfuil sé níos solúbtha.

Tugann cumadóireacht an cumas duit iompar ranga a athrú ag am rite trí a chuid airíonna a shocrú. Agus comhéadain á gcur i bhfeidhm, úsáidtear polymorphism, rud a thugann cur i bhfeidhm níos solúbtha.

Fiú "Java Éifeachtach" Molann Joshua Bloch i bhfabhar comhdhéanamh seachas oidhreacht.

Prionsabal Ionadaíochta Barbara Liskov (LSP)

Prionsabal eile ón bhfoireann uirlisí SOLID. Sonraítear ann nach mór fochineálacha a chur in ionad sárchineál. Is é sin, ba chóir go mbeadh modhanna agus feidhmeanna a oibríonn le sár-aicme in ann oibriú gan fadhbanna lena fo-aicmí.

Tá baint ag an LSP leis an bPrionsabal um Fhreagracht Shingil agus leis an bPrionsabal um Scaradh Freagrachta. Má sholáthraíonn aicme níos mó feidhmiúlachta ná fo-aicme, ní thacóidh an dara ceann le feidhmiúlacht éigin, rud a sháraíonn an prionsabal seo.

Seo píosa cód a thagann salach ar an LSP.

10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a Dhéanamh

Ríomhann an modh achair (Dronuilleog r) achar Dronuilleog. Beidh an clár tuairteála tar éis Cearnóg a fhorghníomhú, ós rud é nach bhfuil Cearnóg ina Dronuilleog anseo. De réir phrionsabal an LSP, ba cheart go mbeadh feidhmeanna a úsáideann tagairtí d’aicmí bunáite in ann réada de chuid aicmí díorthaithe a úsáid gan treoracha breise.

Ba í Barbara Liskov a mhol an prionsabal seo, ar sainmhíniú sonrach é ar fhochineál, i bpríomhóráid comhdhála i 1987 ar a dtugtar "Astraction agus Ordlathas Sonraí" - mar sin a ainm.

Prionsabal Deighilte Comhéadain (ISP)

Prionsabal soladach eile. Dar leis, níor cheart comhéadan nach n-úsáidtear a chur i bhfeidhm. Trí phrionsabal seo a leanúint cabhraíonn sé leis an gcóras fanacht solúbtha agus in-athmhínithe agus athruithe á ndéanamh ar loighic na hoibre.

Is minic a tharlaíonn an cás seo nuair a bhíonn roinnt feidhmiúlachtaí ag an gcomhéadan ag an am céanna, agus níl ach ceann amháin acu ag teastáil ón gcliant.

Ós rud é gur tasc casta é comhéadan a scríobh, tar éis an obair a chríochnú, beidh fadhb ann é a athrú gan aon rud a bhriseadh.

Is é an buntáiste a bhaineann le prionsabal an ISP i Java ná go gcaithfear gach modh a chur i bhfeidhm ar dtús, agus gan ach ansin is féidir le ranganna iad a úsáid. Mar sin, déanann an prionsabal líon na modhanna a laghdú.

10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a Dhéanamh

Clárú le haghaidh Comhéadain, Nach Feidhmiúchán

Anseo tá gach rud soiléir ón ainm. Nuair a chuirtear an prionsabal seo i bhfeidhm beidh cód solúbtha ann a d'fhéadfadh oibriú le haon chomhéadain nua a chur i bhfeidhm.

Ba cheart duit cineál comhéadain a úsáid le haghaidh athróg, cineálacha tuairisceáin, nó cineál argóint modha. Sampla is ea SuperClass a úsáid seachas Fo-Rang.

Is é sin:

Liosta uimhreacha = getNumbers();

Ach ní:

Uimhreacha ArrayList = getNumbers();

Seo cur i bhfeidhm praiticiúil ar a bhfuil ráite thuas.

10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a Dhéanamh

Prionsabal an tarmligin

Sampla coitianta is ea na modhanna comhionann() agus hashCode() i Java. Nuair is gá dhá rud a chur i gcomparáid, déantar an gníomh seo a tharmligean chuig an rang cuí in ionad an rang cliant.

Is é an buntáiste a bhaineann leis an bprionsabal ná nach bhfuil aon dúbailt ar an gcód agus go bhfuil sé sách éasca iompar a athrú. Tá feidhm aige freisin maidir le tarmligean imeachtaí.

10 bPrionsabal Cláraithe atá Dírithe ar Oibiachtaí ar Chóir do Gach Forbróir Eolas a Dhéanamh

Ceadaíonn na prionsabail seo go léir duit cód níos solúbtha, álainn agus iontaofa a scríobh le comhtháthú ard agus cúpláil íseal. Ar ndóigh, tá an teoiric go maith, ach chun forbróir a thosú i ndáiríre ag baint úsáide as an eolas a fuarthas, tá gá le cleachtas. Is é an chéad chéim eile tar éis máistreacht a fháil ar phrionsabail OOP ná staidéar a dhéanamh ar phatrúin dearaidh chun fadhbanna coitianta forbartha bogearraí a réiteach.

Molann Skillbox:

Foinse: will.com

Add a comment