Grutte programmearwurden as útdrukkingen

PocketbeskermerWurkje mei guon útsûnderlike programmeurs, fyn ik mysels faak yn gearkomsten mei arsjitekten, leads en ûntwikkelers dy't (ik tink) it leafst wat grutte wurden of útdrukkingen derút smite om te besykjen de Manlju of har kliïnten bang te meitsjen.

It is ien fan 'e dingen dy't programmeurs graach dwaan. Hjir binne tsien fan har mei in heul ienfâldige beskriuwing (dat sil sûnder mis de lilkens fan ûntwikkelders oeral lûke as ik har terminology dea hack mei myn ienfâldige auto-metafoaren):

  1. Abstraction - dit nimt in dreech proses of funksje en brekt it yn prinsipe logysk ôf ... itsij troch hiërargy (A heart by B, B heart by C, ensfh.) As troch funksje as funksje (kleur, grutte, gewicht, ensfh.). Abstraksje makket objektorientearre programmering makliker troch de funksjonaliteit logysk te organisearjen. Om myn auto te bouwen, bou ik apart in frame, in motor en in lichem.
  2. Depresje - dit betsjuttet dat d'r wat âlde koade yn it systeem is dat kin bliuwe, mar moat ôfbrutsen wurde. As koade wurdt ôfret, ferwize programmers de koade net of brûke se gjin nijere koade oant alle referinsjes nei it âlde binne, op hokker tiid dan moat wurde fuorthelle. Soms, as it in funksje is dy't fuort giet, kinne jo it in skoft hâlde mei in warskôging foar jo brûkers dat it fuort giet. Ik krij in nij stereo-systeem mei nije bedrading, mar ik ferlitte de âlde bedrading en brûk it net.
  3. Encapsulation - dit is it proses fan it organisearjen fan jo programmearfunksjes binnen in âlder as de funksje gjin oare dielen fan it systeem berikt. As jo ​​miljoenen funksjes hawwe, wolle jo se effisjint organisearje en funksjonearje binnen de gebieten dy't se operearje yn stee fan dat se wrâldwiid beskikber binne. Ik sette de stipe meganika fan 'e motor yn' e motorrom ... Ik set it oaljefilter net op 'e efterbank.
  4. Erfenis - dit is de mooglikheid om de eigenskippen op te nimmen fan in oar stik mienskiplike koade (in klasse) om it opnij te brûken foar nije funksjonaliteit sûnder it te herskrijven. Erfenis is in oare goede objektorientearre ûntwikkelingspraktyk. Myn autostoel kin brûkt wurde om in bern as in folwoeksene te dragen - wa't dêryn sit.
  5. Normalisaasje - dit is de metoade om gegevens effisjinter te organisearjen yn in database troch referinsjes út te bouwen. In foarbyld soe wêze as ik de heule dei ferkearsljochten moast opnimme ... read, giel en grien. Ynstee fan elke record te skriuwen mei read, giel en grien - ik skriuw 1, 2 en 3 en meitsje dan in oare tabel wêr't 1 = read, 2 = giel en 3 = grien. Dizze manier registrearje ik mar ien kear read, giel en grien. Elk fan myn autodoarren hat deselde doargreep. Ien hânsel, brûkt op 4 ferskillende lokaasjes ynstee fan 4 ferskillende hânsels.
  6. Objekt oriïnteare - yn moderne programmearttalen is dit in ûntwerpmetoade wêrmei jo spesifike koade yn stikken skriuwe, troch funksjonaliteit, en se dan opnij brûke. In foarbyld soe wêze as ik kontrolearje woe op in jildich oanlein e-postadres. Ik koe de funksje ienris bouwe, en brûk dizze dan wêr't ik nedich is yn myn applikaasje. Myn auto hat 18 ″ felgen dy't troch deselde of oare fabrikanten op oare auto's kinne wurde brûkt.
  7. Polymorfisme - Dizze is dreech út te lizzen, mar yn prinsipe is it de mooglikheid om koade te ûntwikkeljen dy't dynamysk kin wurde brûkt foar oare situaasjes. Mei oare wurden, it kin unike en dynamyske funksjonaliteit erve gewoan troch de manier wêrop't wurdt ferwiisd. Dit is in heul effisjint middel foar ûntwikkeling. Ik kin it elektryske stopkontakt fan myn auto brûke om myn tillefoan op te laden of sop te leverjen oan myn bânpomp.
  8. Recursion - dit is in metoade wêr't koade sels ferwiist. Somtiden is it effisjint en opsetsin, mar oare kearen kin it draaie om jo applikaasjes bûten kontrôle te draaien. Ik klik sykje op myn autostereo en it slingert troch de radiostasjons. It einiget noait, giet gewoan troch.
  9. Refactoring - dit is it proses om koade opnij te skriuwen om it makliker te folgjen of better te organisearjen, mar net needsaaklik ekstra funksjes tafoegje. Ik boude myn motor wer op.
  10. Tsjinner rjochte arsjitektuer (SOA) - nim objektorientearre programmearring en pas it oan op grutte systemen wêr't jo heule systemen kinne hawwe dy't bepaalde funksjes dogge. Jo kinne in systeem foar behear fan klantrelaasjes hawwe dat sprekt mei in e-commerce systeem dat sprekt mei in ferstjoersysteem, ensfh. Ik lûk in trailer mei myn auto om artikels fan it iene plak nei it oare te ferstjoeren. Ik brûk in trailerhitch (XML) om se te ferbinen.

Ik realisearje my dat myn metafoaren net altyd perfekt op doel wiene. Ik hoopje dat se lykwols in bytsje holpen hawwe!

Wat advys as jo dizze wurden hearre yn jo folgjende gearkomste mei in ûntwikkelder ... draaf net werom nei jo stoel en sykje se op Wikipedy, se sille sjen. Flinch net, se sille oanfalle. Hjir is wat te dwaan ... tink troch it finster út as as jo djip yn gedachten binne en sjoch dan werom mei in nijsgjirrige blik of krap jo kin. Wachtsje oant se har ferklearring folgje mei mear ynfo.

... Se sjogge.

8 Comments

  1. 1

    LOL jo hawwe it echt spikere Doug 🙂 Besykje jo ús út 'e saak te setten? Jo wite ferdomd goed dat wy bankearje op dat konsepten net wurde begrepen en dêrom ús manier hawwe mei kliïnten. No moatte wy in manier útfine om se in manier troch te blazen kombinearjen dy buzzwords om ien gigantyske sin te meitsjen dy't sa kin gean:

    No, jo wite dat de funksje dy't jo besykje yn te setten kin wurde abstraheare nei meardere objekten dy't de funksjonaliteit ynkapselje en kommunisearje fia in tsjinst-oriïnteare argitek.

  2. 5

Wat tinksto?

Dizze side brûkt Akismet om spam te ferleegjen. Learje hoe't jo kommentaargegevens ferwurke wurde.