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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обсуждение паттернов 
:(
    Опции темы
Domestic Cat
Дата 4.2.2005, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Ту тему я буду держать закрытой. Все вопросы, предложения и обсуждение - сюда.


--------------------

PM   Вверх
batigoal
Дата 7.2.2005, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


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

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



Прочитал статью про паттерны. Правильно ли я понял, что паттерны - не специфические классы и интерфейсы Java и С#, а просто способ организации собственых классов? То есть, например, Singleton - не класс, реализующий какой-нибудь интерфейс Singletonable ( smile ), а просто класс, для которого в данный момент времени может существовать только один экземпляр, и для него нет специальных требований по написанию?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Domestic Cat
Дата 7.2.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Цитата
Прочитал статью про паттерны


Их еще многo smile

Цитата
просто класс, для которого в данный момент времени может существовать только один экземпляр, и для него нет специальных требований по написанию?


Вот 2 определения паттернов:

1. Паттерн - это набор правил, описывающих как выполнить определенную задачу в разработке ПО. (Прии)

2. Паттерн идентифицирует и определяет абстракцию, которая вышe уровня отдельногo класса или интерфейса (Гамма)

Паттерн - это некий способ организации объектов, при котором взаимодействующие объекты знают о внутреннеm устройствe друg другa кak можно меньше.




--------------------

PM   Вверх
batigoal
Дата 8.2.2005, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


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

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



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


Цитата(Domestic @ 7.2.2005, 20:27)
Их еще многo

А где можно найти более полное описание?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Domestic Cat
Дата 8.2.2005, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Цитата
Таким образом, эти термины используются для стандартизации концепций организации программ и облегчения взаимопонимания между разработчиками, да? Т.е. если я говорю, что мой класс является Composite-классом, то мой коллега понимает, что я использую структуру, подобную той, которая приведена тобой в примере.


Помимо этогo, использованиe паттернов улучшает реюзабилити кода, поддрживаемость, и пр.

Цитата
А где можно найти более полное описание?


В книгах
E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns. Elements of Reusable Object-Oriented Software.
James W. Cooper, The Design Patterns Java Companion
S. Stelting, O.Maasen, Applied Java Patterns
еще сотнe других.
Ну а я каждый день дополняю тему, есл ты заметил.


--------------------

PM   Вверх
borisvolfson
Дата 11.2.2005, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



IMHO, самое главный плюс паттернов они делают код более гибким для дальнейший модификации...
PM MAIL   Вверх
Wanderer2019
Дата 16.2.2005, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вот пишу с использованием DAO! вещь конечно хорошая, но очень много подготовки перед реальным использованием... крму интересно можно почитать здесь Data Access Object
PM ICQ MSN   Вверх
3,14
Дата 18.2.2005, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

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



Цитата(Domestic @ 8.2.2005, 18:54)
E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns. Elements of Reusable Object-Oriented Software.

Вот тут эта книга есть в электронном виде, к тому же на русском : http://techlib.111mb.com/cgi/dl.php?a=0.1&...gn_patterns.tgz



--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
Domestic Cat
Дата 18.2.2005, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Цитата
Бедный комманд паттрен.
Мало того, что был превращён в какое-то "чудо", так ещё обозван не жизнеспособным


Во-первых, речь здесь не об энтерпрайз приложениях, а о J2SE / C# Windows Forms.
Во-вторых, тема создана для обсуждения а не для ироничных бессодержательных замечаний. Не нравится изложение - напиши свое или по крайней мере вырази свое мнение в более содержательной форме.
В-третьих, зарегистрируйся, т.к. разгваривать с гостем бессмысленное занятие. Иначе я просто буду удалять все твои посты чтоб время на разговоры с неизвестно кем не тратить.

Цитата(Wanderer2019 @ 16.2.2005, 06:09)
вот пишу с использованием DAO! вещь конечно хорошая, но очень много подготовки перед реальным использованием... крму интересно можно почитать здесь Data Access Object


Да, про j2ee паттерны тоже следовало бы написать smile


--------------------

PM   Вверх
Souljah
Дата 18.2.2005, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



PM MAIL   Вверх
Domestic Cat
Дата 18.2.2005, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Видимо мне следовало это сразу сказать, но изложение паттернов является сугубо субъективным, кроме того я пользуюсь принципом KISS - Keep It Simple Stupid. На написание новой книжки Гаммы и др. Reloaded у меня времени и таланта нет.
Конечно, Комманд петтерн, Action'ы в Java и пр - все это хорошо, но лично мне не приходилось применять этот паттерн в j2se.


--------------------

PM   Вверх
NotGonnaGetUs
Дата 18.2.2005, 21:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Domestic @ 18.2.2005, 19:33)
Видимо мне следовало это сразу сказать, но изложение паттернов является сугубо субъективным, кроме того я пользуюсь принципом KISS - Keep It Simple Stupid. На написание новой книжки Гаммы и др. Reloaded у меня времени и таланта нет.
Конечно, Комманд петтерн, Action'ы в Java и пр - все это хорошо, но лично мне не приходилось применять этот паттерн в j2se.

Встречался апплет для редактирования html (не как html-текст, а что-то вроде word'a).

Там была проблема - жрались ресурсы дико.
Стал разбираться, оказалось, для Undo/Redo операций html преобразовавывался из внутреннего формата в String и сохранялся. Затем в обратную сторону, если надо было произвести откат.

Внутренний формат - сложно проиндексированный лист с кучей надстроек, для быстрого поиска строк.

Заменив все операции модификации внутреннего представления на комманды
(по одному классу для каждой операции, класс содержит методы execute() & undo() ), добавив стек для этих комманд, получилось
а) уменьшить память потребляемую программой в несколько раз.
б) увеличить время отклика на порядки для больших html-ек (> 1мб)
в) увеличить глубину ундо/редо - в разы smile


На основе этого паттерна строятся легко перенастраивамый контролллеры (хотя бы в рамках MVC).

Можно прописать в xml'ке соотвествие управляющих действий командам и не пересобирая код, менять поведение системы. В качестве такой системы может выступать юзер интерфейс, логика премещения "таракана" встречающего препятствия, и т.п. smile

Маверик весь построен на комманд паттерне(правда это j2ee).

Несколько сумбурно вышло, но что поделать. Рабочий день кончился, мозг отключается smile
  Вверх
djGri
Дата 21.2.2005, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



2 Domestic Cat
Вопрос про Singleton:
1. Как насчет запрета на clone() ?

PM MAIL   Вверх
Domestic Cat
Дата 21.2.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Само собой, подразумевается что класс нe наследует от Cloneable.


--------------------

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


Бывалый
*


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

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



Расскажите, плз, так же доступно, о паттерне State Machine.

--------------------
Я буду искать лица Твоего, Господи Пс.26:8
PM MAIL ICQ YIM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




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


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

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