Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Снова шаблоны (http://www.flasher.ru/forum/showthread.php?t=176303)

angorow 06.03.2012 22:20

Снова шаблоны
 
Здравствуйте!

В данной беседе хочется найти объективные различия этих двух шаблонов, кроме различий которые содержатся в их описании.

Стратегия— поведенческий шаблон проектирования, предназначенный для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет выбирать алгоритм путем определения соответствующего класса. Шаблон Стратегия позволяет менять выбранный алгоритм независимо от объектов-клиентов, которые его используют.

http://upload.wikimedia.org/wikipedi...gy_pattern.PNG
Шаблон "стратегия": http://ru.wikipedia.org/wiki/%D0%A1%...D%D0%B8%D1%8F)

Мост — шаблон проектирования, используемый в проектировании программного обеспечения чтобы «разделять абстракцию и реализацию так, чтобы они могли изменяться независимо». Шаблон bridge (от англ. — мост) использует инкапсуляцию,агрегирование и может использовать наследование для того, чтобы разделить ответственность между классами.
http://upload.wikimedia.org/wikipedi.../Bridgeuml.gif
Шаблон "мост":http://ru.wikipedia.org/wiki/%D0%9C%...BD.D0.B8.D0.B5

Раунд 1 собственно.

Я думаю нужно начать с решения(рационального решения) конкретной задачи. Допустим есть:

http://imglink.ru/thumbnails/06-03-1...d67af849e5.jpg

C (A, B, C) все предельно просто (B, C) расширяют A, полиморфизм хорошо здесь выполняет свои задачи, но на сцене появляются (D, E, F).

http://imglink.ru/thumbnails/06-03-1...d6a7897d1e.jpg

Здесь начинается самое интересное! Мы видим, что функционал (D, E, F) может быть добавлен к любому из (B, C). Как быть? Наследование в данном случае будет не эффективно(речь конечно же идет только о AS3).
В данном случае логично применить ход, который заключается в описании шаблонов “Стратегия” или “Мост”?

Очень интересны ваши мнения по этому поводу!
Заранее благодарен!

Yahen 06.03.2012 23:15

Если он действительно "может быть добавлен". То инкапсуляция простейший и очевидный выбор.
Не плодите сущности ( читай паттерны) без необходимости. Код ради кода не нужен даже индусам.

angorow 06.03.2012 23:34

Здравствуйте!
Вы писали:
Цитата:

Сообщение от Yahen (Сообщение 1067577)
Если он действительно "может быть добавлен". То инкапсуляция простейший и очевидный выбор.
Не плодите сущности ( читай паттерны) без необходимости. Код ради кода не нужен даже индусам.

Вы вообще читали пост целиком? И кто куда может быть добавлен? Это вы читайте паттерны сударь.

dimarik 07.03.2012 00:03

Привет! Название темы не отражает сути вопроса. Избегайте слова "снова" при формулировании названия темы. Адью!


Часовой пояс GMT +4, время: 14:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.