Састав за спасење наследства

И почињу проблеми

Појам наслеђивања, је концепт коју треба да савлада, када ми користимо језикАко желите да организујете свој код око објеката, постоји велика вероватноћа да ћете наићи ако је потребно, користити наслеђивање. Добро, шта је наслеђе доноси многе убедљиве предности, то није одговор на сва питања.

Ако спадате за коришћење слепог наслеђа, постоји велика вероватноћа да mordiez прсте, неколико месеци касније, када ћете морати да промените функционални обим ваше апликације.

Наравно, постоји искушење да каже:"Ако сам наслеђује Фоо, ја сам све своје могућности, без напора.". Али у исто време, ви кравата је врло јака ваша два разреда, а ако они долазе да се разиђу у будућности нећете бити у могућности да једноставно кажу"у Реду, они су подељени, када неке функције". Тада ћете почети да схватају да је то сада тешко да проверите сваку од ових класа, и да је она далеко није јасно их раздвојити. Брига за програмере не имају искуства у томе, да је нико не разуме ову чињеницу, да је у средини пројекта, или када клијент жели да направи измене у функционисање постојећег елемента. Можете да ми верујете на реч, то је на крају и деси. Треба да знате да открије различите врсте односа, које могу постојати између класа. Класа може бити повезан са другима у три врсте односа: композиција увек ће бити флексибилнији, да mixin и не ће бити директно повезан са класе у којој се налази, за разлику од наследства. Дакле, сада возила, који имају брзину, аутомобили могу возити и хеликоптери могу да лете. А сада претпоставимо да желимо да се створи класа за авионе који технички може да вози и лети. Наш авион се налази на пола пута између возила и хеликоптер. Наравно, могло би се користити mixins, али то није ни више ни мање, да је облик вишеструког наслеђивања. Било би много боље, него што је наша тренутна решење и да ће омогућити да се реши наш проблем. Друго решење је да користите састав, који вам омогућава да изолује понашања у специјализоване разреда. Могуће је да ће се онда користити примерци ове класе у друге класе. То вам омогућава да имају разреда, истакнуте, емкие, без технике нема, а веома лако проверљиви. Користите састав, то имати приступ на моћ разреда, намењен за манипулацију са предметом.

Радимо тако: Ја ћу признати да је ово решење је више тешка него mixins, али она је много више флексибилан и моћан, и да ће у пракси, наравно, то је лакше да се провери.

За демонстрације ја иницијализација објеката Вхеелс и Крила у лету, али у пракси, ми би радије уради овај посао покрене у метод иницијализује, који ће имати сталне објекте и избегли проблеме конкуренције. У пракси, нема разлога да се прати тачан метод, зашто користити састав, mixins или наследства само када можете да се мешају три. Мора бити у стању да се прилагоди и користи решење које ће бити флексибилнији. То ће бити могуће користити наслеђивање, када је то потребно, запамтите,"програмер-то је човек". Могуће је да иди на mixins, када смо у ситуацији"програмер, делује као запосленог". Може вероватно да се жали на сочинению, ако ова веза се доказује нешто што је компликовано, објекта, захтева класа посвећен.

Сумира садржај овог чланка, мислим, ваше класе, да су што је могуће више модуларни можда не забивайте себи главу у прозору, када не можете да се повуче касније треба разликовати обавезе сваког од њих.

Ако ваши тестови постају тешко утврдити, то је често-знак проблема архитектуре, које треба ставити чип у ухо. Данас, ми ћемо разговарати о архитектури софтвера. у апп Изглед јс. Сиси је то могуће Немојте остати сама.