tutorial

WHAKAMAHI he aha nga kaupapa e 5 o te mahinga kaupapa-ahanoa

Ko te SOLID he kupu whakarakei, e pa ana ki nga maataapono e rima o te hoahoa-ahanoa (OOD, OOP ranei). Koinei nga aratohu ka taea e nga kaiwhakangungu te whakamahi hei waihanga raupaparorohiko he ngawari ki te whakahaere, ki te pupuri me te toro atu. Ma te maarama ki enei kaupapa ka pai ake to kaiwhakawhanake a ka karo koe ki te karo i nga raru whakahaere raupaparorohiko. He aha te tikanga o te he hotaka pai?

Ko te tangata e whai wheako ana ki nga kaupapa rorohiko e whakatau ana i te waehere raupaparorohiko kua tuhia e etahi atu, e whakamahi ana i nga waahanga whakawa i runga i a raatau ara mahi.

I roto i taku mahi ngaiotanga, he maha nga kaiwhakawhanake i mohiotia e au, a kua kite au i nga raarangi waehere e hia mano nga raina ka hiahia ana au ki te aromatawai i te pukenga o tetahi kaiwhakawhanake e rua nga ahuatanga e tiro ana ahau:

  • Te ngawari ki te panui i te waehere;
  • He pehea pea te pai o te mahi a to raatau waehere, me te whanake haere i roto i te waa.

Waimarie, kei kona ano etahi kaupapa matua, kaupapa ranei e maama ai te pai ki te mahi whakawaehere.

te ingoa ingoa SOLID ko te tikanga:
S: kaupapa o te kawenga kotahi
O: kaupapa tuwhera-kati
L: Liskov parau tumu no te mono
I: Te kaupapa o te wehenga atanga
D: Tumuaki mo te Whakawhitinga o nga Tangata

Me tiimata ma te toro atu ki te kaupapa SOLID tuatahi, ara ko te

Tikanga Kawenga Takitahi

Ko te akomanga (ko te waahanga ranei) me kotahi noa te take ki te whakarereke, kia whanake.

Ko te kaupapa ake he maamaa noa, engari ki te whakatutuki i tenei maamaatanga ko te ara whakatinana ka raru pea. Ko te akomanga he take kotahi anake kia whakarereke.

Engari he aha? 

He aha te mea nui kia kotahi noa iho nga take hei whakarereke?

Hei tauira, mena e rua nga take rereke mo te whakarereke, ka taea te whakaaro ka taea e nga roopu rereke e rua te mahi i runga i te tohu kotahi mo nga take e rua. Me whakatinana e ia ake ta raatau rongoa, ma te mea he reo whakahiato (penei i te C ++, C #, i te Java ranei), ka arahi pea ki nga waahanga kaore e hototahi ana ki etahi atu roopu, ki etahi atu waahanga ranei o te tono.

Ko tetahi atu tauira, mena kei te whakamahi koe i tetahi reo whakamaori, akene me tarai ano koe i te akomanga kotahi, i te waahanga ranei mo nga take rereke. Ko tenei ka nui ake te mahi, te waa me te whakapau kaha mo te whakahaere kounga.

Ko te tohu i tetahi ahuatanga ma te akomanga, ma te waahanga ranei, he uaua ake i te titiro noa ki te raarangi arowhai hei whakahaere i nga whakamatautau. 

Engari kia tarai tatou ki te whakaaro mai i te tirohanga hangarau iti ake, ara, kia tarai tatou ki te wetewete i te kaiwhakamahi o ta taatau akomanga, o to waahanga ranei, ko wai hoki hei whakamahi. Ko tetahi ahuatanga nui me mau tonu ki o maatau whakaaro, ko te mea ko nga kaiwhakamahi o te whakamahinga, o te punaha ranei e whakawhanakehia ana e raatau ma tetahi waahanga motuhake, ko ratau e tono ana kia whakarerekehia. Ka tono te hunga e mahi ana kia whakarereke i te akomanga, te waahanga ranei. 

Ko etahi tauira o nga waahanga me to raatau whakamahinga:

  • Kōwae Whakatikatika: ko te kaiwhakamahi he kaiwhakahaere tari paataka me nga kaihoahoa rorohiko.
  • Kōwae ripoata: ko te kaiwhakamahi he kaimahi tari, kaikaute me te mahi.
  • Te waahanga taatai ​​utu mo te punaha whakahaere utu: Ka taea e nga kaiwhakamahi te whakauru i nga roia, nga kaiwhakahaere me nga kaikaute.
  • Kupu rapu kuputuhi mo te punaha whakahaere whare pukapuka: Ka taea e te kaitiaki pukapuka te whakaatu i nga kaiwhakamahi ranei e nga manuhiri me nga kaihoko o te wharepukapuka ano.

Na mena ko te mahi tuatahi ko te rapu i nga kaiwhakaari, i te kaiwhakaari ranei kei a ia te mahi takawaenga me te waahanga, he uaua ki te hono takitahi me nga waahanga katoa. I roto i te kamupene iti, ka taea e te tangata kotahi te mahi i te waa i roto i te kamupene nui ka nui nga taangata kotahi o raatau mahi. 

Te ahua nei he tika ake te tohu i nga tuunga, kaua ki nga taangata, ki nga kaiwhakamahi ranei.

Na reira:

  • te whakamahi i te punaha rorohiko defihe whakamarama i nga take o te huringa;
  • ko te kawenga he whanau mahi e ngata ai nga hiahia o tetahi kaiwhakaari, ara, te kaiwhakamahi o te punaha;
  • nga kaiwhakaari, ka huri te kaiwhakamahi ki te whakarereke i te whanau o nga mahi hei whakatutuki i te hiahia o te kaiwhakamahi;
  • te whanaketanga o nga hiahia a nga kaiwhakamahi, hei arahi i te whanaketanga o nga mahi;

Ka tirohia e tatou etahi tauira

Whakaarohia he akomanga Pukapuka taatau kei te whakakapi i te kaupapa o te pukapuka me ona mahi.

Pukapuka akomanga {

    mahi getTitle () {

        whakahoki "He Pukapuka Nui";

    }

    mahi getAuthor () {

        whakahoki "Alessandro Baricco";

    }

    mahi whai muri () {

        // panuku

    }

    mahi Panui Wharangi () {

        hamama “ihirangi o te whaarangi onaianei”;

    }

}

He akomanga tino noa tenei. He pukapuka ta taatau, a ka taea e te akomanga te whakawhiwhi i te taitara, ma raatau e homai te kaituhi, ka taea e raatau te haere. Hei whakamutunga, ka taea hoki te taarua te whaarangi inaianei ki te mata. 

Heoi, he raru iti. 

Ki te whakaaro mo nga kaiwhakaari i uru ki te whakahaere i te taonga Pukapuka, ko wai ra raatau? 

Ka maarama maatau ki nga kaiwhakaari rereke e rua i konei: Te whakahaere pukapuka (as the whare pukapuka) ā Mahinga tukunga raraunga (peera me ta maatau e hiahia ana ki te tuku korero ki te kaiwhakamahi: runga-mata, atanga kaiwhakamahi whakairoiro, atanga kaiwhakamahi tuhinga-noa, akene pea). 

Na reira e rua nga kaiwhakaari tino rereke e mahi tahi ana me te akomanga.

I roto i te poto, he rereketanga tenei akomanga i waenga i:

  • arorau pakihi me 
  • te whakaaturanga 

ka raru pea tenei na te mea ka takahi i te kaupapa kaupapa here kotahi (SRP). 

Me pehea e taea ai e tatou te whakarereke, me pehea te whakapai ake i tenei tohu ki te whakaute i te kaupapa o te kawenga kotahi?

Tirohia te waehere e whai ake nei:

Pukapuka akomanga {

    mahi getTitle () {

        whakahoki “Oceano Mare”;

    }

    mahi getAuthor () {

        whakahoki "Alessandro Baricco";

    }

    mahi huri i te whaarangi () {

        // panuku

    }

    mahi getCurrentPage () {

        hamama “ihirangi o te whaarangi onaianei”;

    }

}

Pūreretā atanga {

    Whakaputa mahi (Wharangi $);

Panui houtanga
Kaua e ngaro nga korero tino nui mo te mahi auaha. Waitohu ki te whiwhi i a raatau ma te imeera.

}

akomanga StampaLibro whakatinana Pūreretā {

    Whakaputa mahi (Wharangi $) {

        hamama $ whaarangi;

    }

}

 

akomanga htmlPrinter whakauru i te Pūreretā {

    Whakaputa mahi (Wharangi $) {

        oro ' '. Wharangi $. ' ';

    }

}

Ko tenei tauira tino maamaa e whakaatu ana me pehea te wehe i te whakaaturanga mai i te arorau umanga, ana ki te whakatutukitanga ki te SRP he tino painga ki te waatea o te kaupapa.

Ka titiro taatau ki tetahi atu tauira:

Ko tetahi tauira e rite ana ki tera o runga ake nei ka taea e te ahanoa te whakaora me te tango ano i a ia mai i te whakaaturanga.

Pukapuka akomanga {

    mahi getTitle () {

        whakahoki “Oceano Mare”;

    }

    mahi getAuthor () {

        whakahoki "Alessandro Baricco";

    }

    mahi huri i te whaarangi () {

        // panuku

    }

    mahi getCurrentPage () {

        whakahoki "ihirangi o te whaarangi onaianei";

    }

    mahi whakaora () {

        $ filename = '/ tuhinga /'. $ tenei-> tikiTitolo (). '-'. $ tenei-> whiwhiAuthor ();

        file_put_contents ($ filename, serialize ($ tenei));

    }

}

Pēnei i mua, i konei hoki ka taea e taatau te tautuhi i nga kaiwhakaari rereke Te whakahaere pukapuka (as the whare pukapuka) ā Tuutuu. I nga wa katoa e hiahia ana matou ki te whakarereke i ta maatau haere mai i tera whaarangi ki tera whaarangi, me huri tenei akomanga. He maha nga take ka taea te whakarereke.

Pukapuka akomanga {

    mahi getTitle () {

        whakahoki “Oceano Mare”;

    }

    mahi getAuthor () {

        whakahoki "Alessandro Baricco";

    }

    mahi huri i te whaarangi () {

        // panuku

    }

    mahi getCurrentPage () {

        whakahoki "ihirangi o te whaarangi onaianei";

    }

}

akomanga SimpleFilePersistence {

    mahi penapena (Pukapuka $ pukapuka) {

        $ filename = '/ tuhinga /'. $ pukapuka-> tikiTaitara (). '-'. $ pukapuka-> getAuthor ();

        file_put_contents ($ filename, serialize ($ pukapuka));

    }

}

Ko te neke ki te mahi tohe ki tetahi atu akomanga ka tino wehe ke nga kawenga a ka waatea tatou ki te whakawhiti i nga tikanga tohe me te kore e awe i ta taatau akomanga Pukapuka. Hei tauira, ko te whakamahi i tetahi akomanga DatabasePersistence he mea iti noa, kaore hoki e whakarereke a maatau kaupapa pakihi i te taha o nga whakahaerenga pukapuka.

Haere tonu ma te panui i te kaupapa tuarua Tuwhera / Kati ->

Ercole Palmeri

Panui houtanga
Kaua e ngaro nga korero tino nui mo te mahi auaha. Waitohu ki te whiwhi i a raatau ma te imeera.

Nga tuhinga o mua

Kei a Veeam te tautoko tino whanui mo te ransomware, mai i te whakamarumaru ki te whakautu me te whakaora

Ka whakarato tonu a Coveware na Veeam i nga ratonga whakautu mai i nga aitua. Ka tukuna e Coveware nga mahi whakawai me te whakatikatika…

23 Paenga-whāwhā 2024

Hurihuri Kakariki me te Mamati: He pehea te Huringa Matapae i te Hurihanga i te Ahumahi Hinu me te Hau

Ko te tiaki matapae kei te huri haere i te waahanga hinu me te hau, me te huarahi auaha me te kaha ki te whakahaere tipu.…

22 Paenga-whāwhā 2024

Ka whakaarahia e te kaiwhakahaere antitrust UK te whakaoho BigTech mo GenAI

Kua tukuna e te UK CMA tetahi whakatupato mo te whanonga a Big Tech i te maakete mohio. I reira…

18 Paenga-whāwhā 2024

Casa Green: hurihanga pūngao mo te oranga tonutanga i Itari

Ko te Whakatau "Nga Whare Kaariki", i hangaia e te Kotahitanga o Europi hei whakarei ake i te kaha o te kaha o nga whare, kua mutu tana mahi ture me te…

18 Paenga-whāwhā 2024