Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Design Pattern, Bridge  
:(
    Опции темы
Старовъръ
Дата 20.12.2010, 23:35 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: 2
Всего: 10



Цитата
Design patterns, как впрочем, и другие подходы лучше всего воспринимаются уж после того, как набил себе шишку, ломясь в открытую дверь, или потерял кучу времени, чтобы придумать то, что давно всем известно.
Да вся теория такая - понимаешь только после того, как попробовал. Поэтому теорию нужно читать несколько раз (как минимум - два раза).
Цитата
При наличии хорошего мышления то же самое решение, но уже оптимизированное под конкретный случай, можно реализовать и не зная шаблонов.
Можно, однако велосипеды обходятся дороже по времени их изготовления.
Цитата
И оно будет более оптимальным чем то, что предлагает шаблон.
Ну эт не факт, не факт.
Цитата
Для того, чтобы быть профессионалом - надо знать принципы, на которых основаны шаблоны. 
Эти принципы - это те же шаблоны, просто их знание ничего не дает без опыта. Возьмем все те же OOD Principles, на которых строятся шаблоны, - ну их много кто знает, но кто умеет правильно пользоваться? Единицы. Потому что прочитать-то прочитали, но понастоящему не поняли. Для этого и нужен опыт.
Цитата
А если меня спросить о шаблонах стандартной Java - я всех даже не назову
Ну никто и не говорил, что знание шаблона - это знание названия. Может ты их все знаешь, просто в названиях не силен.
Цитата
 Был у меня разработчик. Он шаблоны знал очень хорошо. Вот только его код понять было невозможно - за деревьями леса не было видно. Почему? Да потому, что мышлением он не отличался. И применял шаблоны "в лоб", по книжке.
Так делают все начинающие, просто прочитав о шаблоне ты его не освоишь, нужен опыт (как и в OOD принципах).
Итого, что я пытаюсь донести - работать можно и без теории, однако обучаешься/развиваешься тогда намного медленней, чем если знать теорию. Это раз. А два - это то, что ты качество своей работы не гарантируешь, пока не знаешь теорию, используешь себе какую-то технологию, используешь, думаешь правильно, а потом через месяц узнаешь то, о чем не предполагал, и что, как оказалось, какашко-код писал. Так вот, шаблоны - эта та теория, которая должна ити перед практикой для того, чтоб ускорить обучение.
PM MAIL WWW   Вверх
sergioK
Дата 21.12.2010, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



Цитата(Skipy @ 20.12.2010,  11:33)
Для того, чтобы быть профессионалом - надо знать принципы, на которых основаны шаблоны. А знание шаблонов не даст знания принципов.


И в чем эти принципы Я до сих пор не понял,  в том что  метод класса может принимать ссылку на другой класс.?
Все дизайн патерны строятся на этом .

Это сообщение отредактировал(а) sergioK - 21.12.2010, 08:53
PM MAIL   Вверх
powerOn
Дата 21.12.2010, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 1
Всего: 159



Цитата(sergioK @  21.12.2010,  00:50 Найти цитируемый пост)
И в чем эти принципы


например, низкое связывание и высокое сцепление. да таже инкапсуляция.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Старовъръ
Дата 21.12.2010, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: 2
Всего: 10



Цитата
И в чем эти принципы
Принципы объектно ориентированного проектирования (в видео докладе более подробно рассказывается, нежели в самом туториале).
Также откройте для себя крайне полезный ресурс: oodesign.com
И еще следует прочитать Head First OO Analysis and Design, ну а потом и Head First Design Patterns.
PM MAIL WWW   Вверх
sergioK
Дата 21.12.2010, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



Цитата(powerOn @ 21.12.2010,  08:55)
Цитата(sergioK @  21.12.2010,  00:50 Найти цитируемый пост)
И в чем эти принципы


например, низкое связывание и высокое сцепление. да таже инкапсуляция.


низкое связывание и высокое сцепление 

что это такое? Я не силен в терминах тем более на русском 
PM MAIL   Вверх
jk1
Дата 21.12.2010, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 1
Всего: 75



Цитата

что это такое?


Попробую объяснить в двух словах.  Связывание (Coupling) есть мера взаимозависимости нескольких абстрактных программных компонент. Это могут быть отдельные классы, слои (tiers) или огромные enterprise-системы если мы строим интеграционное решение для их взаимодействия. В идеале нужно стремится к низкому связыванию (low coupling) для того, чтобы можно было менять компоненты независимо друг от друга. Причем я имею ввиду не только код, но и протоколы взаимодействия равно как и прочие допущения и соглашения, сопровождающие процесс разработки. Противоположенным полюсом является высокая связность компонент (High/Tight Coupling), когда один полагается на реализацию (не интерфейс!) другого.

Классификаций степени связности существует довольно много, например Sun Oracle при сдаче SCJP требует уметь различать три градации:
  •  Loose coupling - работаем с реализацией только по интерфейсу
  •  Abstract coupling - работаем с реализацией как с реализацией абстрактного суперкласса
  •  Tight coupling - работаем с реализацией как с конкретной реализацией

Вики предлагает более общий подход к вопросу, почитайте эту небезинтересную статью.

Вы скажете, что это очевидно. Полностью с Вами соглашусь. Тем не менее я не устаю удивляться как часто при разработке и проектировании этот принцип нарушается.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Skipy
Дата 21.12.2010, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: нет
Всего: 16



Цитата(sergioK @ 21.12.2010,  11:15)
низкое связывание и высокое сцепление 

что это такое? Я не силен в терминах тем более на русском

Вот это почитайте: http://www.skipy.ru/architecture/module_design.html

Поскольку термин "связывание" там не употребляется - поясню. Чем ниже связывание - тем проще переиспользовать. Собственно, вся статья про методы уменьшения связывания.

Это сообщение отредактировал(а) Skipy - 21.12.2010, 13:37


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
sergioK
Дата 21.12.2010, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



Цитата(Skipy @ 21.12.2010,  13:35)
Цитата(sergioK @ 21.12.2010,  11:15)
низкое связывание и высокое сцепление 

что это такое? Я не силен в терминах тем более на русском

Вот это почитайте: http://www.skipy.ru/architecture/module_design.html

Поскольку термин "связывание" там не употребляется - поясню. Чем ниже связывание - тем проще переиспользовать. Собственно, вся статья про методы уменьшения связывания.


1)Не хорошо, то что конструктор  должен выбрасывать исключение, вы не знаете создался объест или нет.
2) Очень странно что все эти приемы не преподают на 3-4курсах, когда люди уже более или менее умеют писать/кодить.


Цитата

Чтобы не наступить на те же грабли, что и с предопределенным именем файла конфигурации, оставляем возможность задать собственное имя таблицы в базе. Имя по умолчанию тоже присутствует. Конструкторы бросают исключение SQLException, так как только оно и может возникнуть. И тот, кто формирует конфигурацию на основе соединения с БД, вполне может это исключение обработать. Скажем так, оно тут оправдано. 



Это сообщение отредактировал(а) sergioK - 21.12.2010, 16:56
PM MAIL   Вверх
Temdegon
Дата 21.12.2010, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.10.2008
Где: Minsk

Репутация: нет
Всего: 9



Интересная получилась тема. Может ее перенести в ветку Java: Design, Quality, Testing?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Design, Quality, Testing | Следующая тема »


 




[ Время генерации скрипта: 0.0529 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.