ПредишенСледващото

Знам, че поведението може да се персонализира с императивни метода им поведение, което ще върне масив от конфигурации, всеки прикрепен поведение. Искам да направя в допълнение на този метод е все още нов, да речем, behaviors2, формата на които съм бил indentichen, че ще направи точно същото нещо - данните да се пазят от поведението.

Задачата е: да се събере информация за поведението на двата метода.

Проучване на елементите на кода, осъзнах, че това за събиране на информация от отговорните ensureBehaviors метод поведение, което от своя страна работи почти в началото на всеки друг метод, който по някакъв начин е свързана с поведението. Първата идея - тя не зачете:

Къде мога ensureBehaviors2 просто закрепете всички други поведения.

Трудност: метод, който е отговорен за закрепването на компонент поведение, attachBehaviorInternal е поверително и метод attachBehavior призовава ensureBehaviors. Общо: рекурсия.

Добив: добавите клас имот:

И пиша това:

И тогава започнах да мисля. Той изглежда да се работи, но изглежда голяма и тежка патерица. Но тя работи. Искам да знам вашите мнения и възможни решения на пъзелите.

Функционални поведение на метода трябва да останат същите. Знам, че може да се използва и behaviors2 behaviors3 и поведение просто merzh резултатите от тези методи. Или поведение да добавят функции, които вземат масив, който в него и merzh с другите. Но след това, че ще бъде невъзможно да се използват наследство.

Съветвам ви да се откаже от идеята да се разделят на поведението на щепсела на няколко метода. Това са аргументите ми:

Изненадващ механизъм. Да, ние трябва да се настройва с помощта на рамка, а не рамка. Но първият аргумент, така че всеки знае какво поведение. Какво е analyticsBehaviors. customBehaviors трябва да обясни всичко.

Фалшиви гъвкавост. Не е достатъчно за вас на едно място добавете behaviors2. Предполагам, че сте избрали друго име, и въпросът е дали всички модели, че е необходимо. Какво става, ако някои трябва behaviors3. Кодът ви е дал, не е патерица, е съвсем малко. Той адекватно решава проблема с раздяла, но аз не мисля, че ще бъде доста гъвкав.

Стандартното решение на този проблем за мен изглежда съвсем нормално, и максимална гъвкавост.

Няма нужда да се отгатне, че това къде и как. Стандартни поведение, тяхното голямо количество разсейване може да бъде, както бихте искали.

Проблемът е решен наследство, както следва:

Програмист винаги ще работи с поведения. методи за образуване на които се определят от задачата. Това е лесно и готино.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!