Mang kapa mang ea nang le boiphihlelo bo itseng lenaneong la software o ahlola khoutu ea software e ngotsoeng ke ba bang, a sebelisa meeli ea kahlolo e ipapisitseng le tsela eo a sebetsang ka eona.
Nakong ea mosebetsi oa ka oa botsebi, ke tsebile bahlahisi ba bangata, 'me ke bone mela e likete ea khoutu mme ha ke hloka ho lekola boiphihlelo ba moqapi ke sheba lintlha tse peli haholo:
Ka lehlohonolo, ho na le metheo kapa metheo e meng e etsang hore ho be bonolo ho ba betere ha u ngolisa.
SOLID e khutsufatsang e emetse:
S: molao-motheo oa boikarabello bo le bong
O: molao-motheo o koetsoeng
L: Molao-motheo oa sebaka sa Liskov
I: Molao-motheo oa khethollo ea li-interface
D: Molao-motheo oa ho fetola litšepiso
Ha re qaleng ka ho teba ka molao-motheo oa SOLID oa pele, e leng
Sehlopha (kapa module) se lokela ho ba le lebaka le le leng feela la ho fetoha, ho fetoha.
Khopolo ka boeona e bonolo haholo, empa ho fihlela mokhoa ona o bonolo tsela ea ho kenya tšebetsong e ka ba thata haholo. Sehlopha se lokela ho ba le lebaka le le leng feela la ho fetoha.
Empa hobaneng?
Hobaneng ho le bohlokoa ho ba le lebaka le le leng feela la ho fetoha?
Mohlala, haeba ho na le mabaka a mabeli a fapaneng a ho fetoha, ho ka nahanoa hore lihlopha tse peli tse fapaneng li ka sebetsa ka khoutu e le 'ngoe ka mabaka a mabeli a fapaneng. E mong le e mong o tla tlameha ho kenya tharollo ea hae, eo maemong a puo e hlophisitsoeng (joalo ka C ++, C # kapa Java), e ka lebisang ho li-module tse sa lumellaneng le lihlopha tse ling kapa likarolo tse ling tsa ts'ebeliso.
Mohlala o mong, haeba o sebelisa puo e tolokiloeng, o kanna oa tlameha ho leka hape sehlopha kapa module ka mabaka a fapaneng. Sena se bolela mosebetsi o mongata, nako le boiteko bakeng sa taolo ea boleng.
Ho khetholla karolo e le 'ngoe eo sehlopha kapa module e lokelang ho ba le eona ho thata haholo ho feta ho sheba lenane la ho etsa liteko.
Empa ha re leke ho nahana ho latela pono e tlase ea mahlale, ke hore, ha re leke ho sekaseka mosebelisi oa sehlopha sa rona kapa module, ke mang ea tla e sebelisa. Ntlha ea bohlokoa eo re tlamehang ho lula re e hopotse ke taba ea hore basebelisi ba ts'ebeliso kapa sistimi eo re e hlahisang ba fuoang mojule o itseng e tla ba bona ba kopang liphetoho ho eona. Ba sebeletsang ba tla kopa ho fetola sehlopha kapa module.
Mehlala e meng ea li-module le ts'ebeliso ea tsona:
Kahoo haeba mohato oa pele ke ho batla batšoantšisi kapa sebapali se nang le karolo ea sebuelli le module, ho kopanya batho ka bomong le likarolo tsohle ho ka ba thata. K'hamphaning e nyane, motho a le mong a ka bapala likarolo tse ngata ha k'hamphaning e kholo ho ka ba le batho ba bangata ba nang le karolo e le 'ngoe.
Ho bonahala ho utloahala ho khetholla likarolo, ho fapana le batho kapa basebelisi.
Ka hona:
A re ke re boneng mehlala e seng mekae
Ha re re re na le sehlopha sa Buka se kenyelletsang mohopolo oa buka le tšebetso ea eona.
Buka ea sehlopha {
mosebetsi GetTitle () {
khutla "Buka e kholo";
}
sebetsa getAuthor () {
khutla "Alessandro Baricco";
}
sebetsa leqephe le latelang () {
// leqephe le latelang
}
sebetsa printCurrentPage () {
pheta "litaba tsa leqephe la hajoale";
}
}
Ena ke sehlopha se tloaelehileng haholo. Re na le buka, mme sehlopha se ka re fa sehlooho, ba ka re fa sengoli, mme ba ka fetela pele. Qetellong, e khona hape ho hatisa leqephe la hajoale skrineng.
Leha ho le joalo, ho na le bothata bo fokolang.
Ha re nahana ka batšoantšisi ba amehang tsamaisong ea Buka, e ka ba bo-mang?
Re ka nahana habonolo ka batšoantšisi ba babeli ba fapaneng mona: Tsamaiso ea libuka (joalo ka ea libukale Mochini oa tlhahiso ea data (joalo ka ha re batla ho fetisetsa litaba ho mosebelisi: skrineng, sebopeho sa lits'oants'o sa mosebelisi, sebopeho sa mosebelisi sa sengoloa feela, mohlomong se hatisoe).
Ka hona re na le batšoantšisi ba babeli ba fapaneng haholo ba sebelisanang le sehlopha.
Ka bokhutšoanyane sehlopha sena se kopanya pakeng tsa:
sena e ka ba bothata hobane e tlola molao-motheo o le mong oa mokoloto (SRP).
Re ka fetoha joang, re ka ntlafatsa khoutu ee joang ho hlompha molao-motheo oa boikarabello bo le bong?
Sheba khoutu e latelang:
Buka ea sehlopha {
mosebetsi GetTitle () {
khutla "Oceano Mare";
}
sebetsa getAuthor () {
khutla "Alessandro Baricco";
}
leqephe la tšebetso () {
// leqephe le latelang
}
sebetsa getCurrentPage () {
pheta "litaba tsa leqephe la hajoale";
}
}
segokanyimmediamentsi sa sebolokigolo Printer
mosebetsiPrintaPage ($ leqephe);
}
StampaLibro e sebelisa lisebelisoa tsa khatiso {
sebetsa printPages ($ leqephe) {
echo leqephe la $;
}
}
Class HtmlPrinter e sebelisa Printer {
sebetsa printPages ($ leqephe) {
pheta ' '. $ leqephe. ' ';
}
}
Mohlala ona o bonolo haholo o bonts'a mokhoa oa ho arola nehelano le mohopolo oa khoebo, 'me ho latela SRP e fana ka menyetla e metle ho fetoheng ha morero oa rona.
Ha re shebeng mohlala o mong:
Mohlala o ts'oanang le o kaholimo ke ha ntho e ka boloka le ho iphumolla ho tsoa nehelanong.
Buka ea sehlopha {
mosebetsi GetTitle () {
khutla "Oceano Mare";
}
sebetsa getAuthor () {
khutla "Alessandro Baricco";
}
leqephe la tšebetso () {
// leqephe le latelang
}
sebetsa getCurrentPage () {
khutlisa "litaba tsa leqephe la hajoale";
}
mosebetsi boloka () {
$ filename = '/ litokomane /'. $ sena-> getTitolo (). '-'. $ sena-> getAuthor ();
file_put_contents ($ filename, serialize ($ this));
}
}
Joalo ka pele, le mona re ka tseba libapali tse fapaneng joalo ka Tsamaiso ea libuka (joalo ka ea libukale Ho phehella. Nako le nako ha re batla ho fetola tsela eo re tsamaeang ka eona ho tloha leqepheng le leng ho ea ho le leng, re hloka ho fetola sehlopha sena. Re ka ba le mabaka a 'maloa a phetoho.
Buka ea sehlopha {
mosebetsi GetTitle () {
khutla "Oceano Mare";
}
sebetsa getAuthor () {
khutla "Alessandro Baricco";
}
leqephe la tšebetso () {
// leqephe le latelang
}
sebetsa getCurrentPage () {
khutlisa "litaba tsa leqephe la hajoale";
}
}
sehlopha sa SimpleFilePersistence {
mosebetsi boloka (Book $ book) {
$ filename = '/ litokomane /'. $ buka-> GetTitle (). '-'. $ buka-> getAuthor ();
file_put_contents ($ filename, serialize ($ book));
}
}
Ho fetisetsa ts'ebetso ea ho phehella sehlopheng se seng ho tla arola boikarabello ka ho hlaka 'me re tla ba le bolokolohi ba ho fapanyetsana mekhoa ea ho phehella ntle le ho ama sehlopha sa rona sa Buka. Mohlala, ho kenya ts'ebetsong sehlopha sa DatabasePersistence ho ka ba bobebe, mme mohopolo oa rona oa khoebo o hahiloeng holima ts'ebetso ea libuka o ke ke oa fetoha.
Tsoela pele ka ho bala molao-motheo oa bobeli Open / Closed ->
Ercole Palmeri
Mantaha o fetileng, Financial Times e phatlalalitse selekane le OpenAI. FT e fana ka tumello ea bongoli ba eona ba maemo a lefats'e…
Batho ba limilione ba lefella litšebeletso tsa ho phallela, ba lefa litefiso tsa khoeli le khoeli tsa ho ngolisa. Ke maikutlo a tloaelehileng hore u…
Coveware ke Veeam e tla tsoelapele ho fana ka litšebeletso tsa karabelo ea liketsahalo tsa bosholu ba cyber. Coveware e tla fana ka bokhoni ba forensics le tokiso…
Tlhokomelo ea esale pele e tlisa phetoho lefapheng la oli le khase, ka mokhoa o mocha le o sebetsang oa taolo ea limela.…