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

Tatauranga āhuahanga totoka āhuahanga
whakangungu
1

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:

  • ko te kaiwhakamahi o te punaha raupaparorohiko e whakaatu ana i nga take o te whakarereketanga;
  • 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;

Nga kaupapa o te SOLID

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 $);

}

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 ->

Ko te korero a 1

Waiho he korero

Kaore e whakaputaina to wahitau īmēra. Kua tohua nga mara o te mana *

parau tumu liskov
whakangungu
Te kaupapa o te Whakakapinga Liskov, te kaupapa tuatoru o te SOLID

Kaua rawa nga akomanga tamariki e whakararu i nga momo whakamaarama o te akomanga matua. Ko te kaupapa o tenei kaupapa na Barbara Liskov i whakaputa i roto i te kupu matua o te hui 1987 a muri ka whakaputaina ki roto i tetahi tuhinga me Jannette Wing i te tau 1994. Ko ta raatau whakamaaramatanga taketake…

nga mahinga hokohoko google
whakangungu
Me pehea te whakamahi i te Google Trends mo te hokohoko tuuturu

Ko tetahi o nga uauatanga nui i raru ai nga kamupene i te tau 2020 ko te maarama ki nga waahanga hua hei rerekee i a raatau pakihi: ina hoki, ko te nuinga o nga waahanga umanga i pa ki nga paanga taumaha kaore e taea e nga kamupene te uru ki roto, ina koa he kaitono hou. Ruarua nei nga rarangi whakangao ...

rautaki mohio umanga
Methods
Rautaki kia angitu te Maatauranga Pakihi

Ko te hanga rautaki angitu mo to Maatauranga Pakihi ka tiimata me te tirohanga tika ki nga whaainga. Ka kitea i raro ake nei etahi kaupapa matua. Te aromatawai i te ahuatanga o naianei He tino he te whakahawea ki tenei ahuatanga. Ko te arotake i nga ahuatanga o tenei wa ko te wetewete i nga whakahaere, i nga hanganga ...