![]() |
|
Модераторы: LSD |
![]()
|
|
| Старовъръ |
|
||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 2 Всего: 10 |
Итого, что я пытаюсь донести - работать можно и без теории, однако обучаешься/развиваешься тогда намного медленней, чем если знать теорию. Это раз. А два - это то, что ты качество своей работы не гарантируешь, пока не знаешь теорию, используешь себе какую-то технологию, используешь, думаешь правильно, а потом через месяц узнаешь то, о чем не предполагал, и что, как оказалось, какашко-код писал. Так вот, шаблоны - эта та теория, которая должна ити перед практикой для того, чтоб ускорить обучение. -------------------- |
||||||||||||
|
|||||||||||||
| sergioK |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 15.2.2008 Репутация: нет Всего: нет |
И в чем эти принципы Я до сих пор не понял, в том что метод класса может принимать ссылку на другой класс.? Все дизайн патерны строятся на этом . Это сообщение отредактировал(а) sergioK - 21.12.2010, 08:53 |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 1 Всего: 159 |
например, низкое связывание и высокое сцепление. да таже инкапсуляция. |
|||
|
||||
| Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 2 Всего: 10 |
Также откройте для себя крайне полезный ресурс: oodesign.com И еще следует прочитать Head First OO Analysis and Design, ну а потом и Head First Design Patterns. -------------------- |
|||
|
||||
| sergioK |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 15.2.2008 Репутация: нет Всего: нет |
||||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 1 Всего: 75 |
Попробую объяснить в двух словах. Связывание (Coupling) есть мера взаимозависимости нескольких абстрактных программных компонент. Это могут быть отдельные классы, слои (tiers) или огромные enterprise-системы если мы строим интеграционное решение для их взаимодействия. В идеале нужно стремится к низкому связыванию (low coupling) для того, чтобы можно было менять компоненты независимо друг от друга. Причем я имею ввиду не только код, но и протоколы взаимодействия равно как и прочие допущения и соглашения, сопровождающие процесс разработки. Противоположенным полюсом является высокая связность компонент (High/Tight Coupling), когда один полагается на реализацию (не интерфейс!) другого. Классификаций степени связности существует довольно много, например Sun Oracle при сдаче SCJP требует уметь различать три градации:
Вики предлагает более общий подход к вопросу, почитайте эту небезинтересную статью. Вы скажете, что это очевидно. Полностью с Вами соглашусь. Тем не менее я не устаю удивляться как часто при разработке и проектировании этот принцип нарушается. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: нет Всего: 16 |
Вот это почитайте: http://www.skipy.ru/architecture/module_design.html Поскольку термин "связывание" там не употребляется - поясню. Чем ниже связывание - тем проще переиспользовать. Собственно, вся статья про методы уменьшения связывания. Это сообщение отредактировал(а) Skipy - 21.12.2010, 13:37 |
|||
|
||||
| sergioK |
|
||||||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 15.2.2008 Репутация: нет Всего: нет |
1)Не хорошо, то что конструктор должен выбрасывать исключение, вы не знаете создался объест или нет. 2) Очень странно что все эти приемы не преподают на 3-4курсах, когда люди уже более или менее умеют писать/кодить.
Это сообщение отредактировал(а) sergioK - 21.12.2010, 16:56 |
||||||
|
|||||||
| Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: нет Всего: 9 |
Интересная получилась тема. Может ее перенести в ветку Java: Design, Quality, Testing?
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Design, Quality, Testing | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |