D zesummesetzung vun der radioaktiv vum ierfschaft

Dir kënnt mir aufs wuert gleewen, enn dat ëmmer sou

De begrëff vun der vererbung ass e konzept, dat muss een beherrsche, wann een se benotzt eng sprooch, objetWann dir wëllt, organiséiere si hire code, fir objeten, et gëtt héich chancen, datt si virum benotzen, mussen d vererbung. Gutt, datt d 'vermiechtnes keen eng ganz rei vu vorteilen ze leugnen, dat ass net d' äntwert op all froen. Wann si falen an der wahllose asaz vun vererbung, an et gëtt gutt chancen, datt si mordiez den gréisst e puer méint méi spéit, wann se mussen, weiterentwickeln an de funktiounsëmfang hirer benotzung.

Sisi, dat ass méiglech. Bleift net eleng

Natierlech ass et verlockend, sech ze soen:"Wann ech ierft vun de"Foo"da wäert ech all hir funktiounen, ouni ustrengungen.". Awer gläichzäiteg binden si sech ganz staark op hir zwee-klassen a wann se kommen, divergieren an der zukunft, gi si net méi, datt si einfach soen"Ok, si deelen wann och e puer vun de funktiounen". Si ginn opgeruff, dann ginn si erkennen, dass et ass elo schwéier ze testen, all dëse klassen, an et ass hank selbstverständlech, vun den deeler. D problemer ufänken.

D 'suerg fir d' entwéckler net sou vill erfahrung, datt een net merkt, ass dës tatsaach, datt mattsen an engem projet oder wann de client wëll eng ännerung analyséieren, déi fir de betrib vun engem stockéiert elements.

Et muss een wëssen, erkennen d verschiddenen aarte vu bezéiungen, déi disponibel kënne sinn, tëscht de klassen.

Eng klass kann mat enger anerer duerch dräi zorte vu bezéiungen: d zesummesetzung gëtt ëmmer flexibler als e mixin a gëtt net direkt an der klass, déi se installéiert, am géigesaz zu der vererbung.

Et huet also elo aktivitéiten un, déi hunn eng vitesse, d autoen kënnen fueren an helikopter fléien kënnen. Sot mir elo, datt een maachen wëll, eng klass fir fligeren technesch kann fueren a fléien. Eise fliger ass op halbem wee tëscht dem auto an dem helikopter. Natierlech kéint een benotzen, ech liesen elo awer net méi oder manner, wéi eng form vun der mehrfachvererbung. Et wier vill besser, wéi eis moment léisung a géif de problem léisen. Déi aner léisung wier d 'benotzen vun der zesummesetzung, d' isoléieren kënnen, d behuelen a sonderschulen. Gëtt et dann benotzen, fir bescheed dëse klassen an anere klassen. Et erméiglecht also, datt den eege klassesall, prezis, ouni methode überflüssig a ganz liicht getest ginn. Gebrauch der zesummesetzung ass, hunn si zougrëff op déi ganz leeschtung vun enger klass gewidmet, fir en objet ze änneren. Setze mer also sou vir: Ech si räumt, datt dës léisung méi, verbose 'noriichten, datt d' css jo, mä et ass och vill méi flexibel an leistungsfähig a gëtt an der praxis sécherlech einfacher ze testen. Fir d 'demonstratioun hunn ech initialisiert d' objeten Wheels an Wings on-the-fly, awer an der praxis géif een éischter déi aarbecht maachen initialisierung an der method initialize op déi manéier hu si objeten, déi persistent an keng problemer mat der konkurrenz. An der praxis ass dat kee grond, fir ze follegen, eng method, déi prezis, firwat dir d 'zesummesetzung, d' css jo oder ierfschaft vun eleng, wann een mixer-déi dräi. Hie muss wëssen, wéi se sech upassen a benotzen se d léisung, déi am meeschten flexibel.

Et brauch een also d ierfschaft, wann et néideg ass, denkt drun,"en entwéckler ass eng persoun".

Et gëtt den css jo, wann een an der situatioun"en entwéckler wierkt wéi e arbeitnehmer". Et gëtt sech op d zesummesetzung, wann dës bezéiung erweist sech als e bësse méi komplex, en objet muss eng klass gewidmet. Institut léisst sech d versioun vun dësem féieren, déi denken, hir klassen, fir si sou modular wéi méiglech, datt si sech net an enger schachtel, vun där si net méi idee duerno iwwerleet iech, obwuel d ofgrenzung vun der verantwortlichkeiten. Wann är tester ëmmer méi schwiereg ëmzesetzen, dat ass dacks d zeeche fir e problem vun der architektur, déi, sollt dir en geflücht am ouer. Haut gi mir eppes iwwert software-architektur. an enger app-Usiicht js.