Шаблоны проектирования. История успеха
От: Тепляков Сергей Владимирович США http://sergeyteplyakov.blogspot.com/
Дата: 09.01.11 11:56
Оценка: 270 (6) -2
Статья:
Шаблоны проектирования. История успеха
Автор(ы): Тепляков Сергей Владимирович
Дата: 09.01.2011
В статье рассматривается история шаблонов проектирования, от момента их зарождения в конце 1980-х годов, до сегодняшних дней.


Авторы:
Тепляков Сергей Владимирович

Аннотация:
В статье рассматривается история шаблонов проектирования, от момента их зарождения в конце 1980-х годов, до сегодняшних дней.
Re: Шаблоны проектирования. История успеха
От: LeonidV Ниоткуда http://vygovskiy.com
Дата: 09.01.11 12:18
Оценка:
Эмм. Статья в ВАКовском журнале по техническим наукам? То что выложено на сайте не впечатлило...
http://jvmmemory.com — простой способ настройки JVM
Re: Шаблоны проектирования. История успеха
От: Aquary Россия https://wmspanel.com/
Дата: 09.01.11 13:54
Оценка:
Здравствуйте, Тепляков Сергей Владимирович, Вы писали:

ТСВ>В статье рассматривается история шаблонов проектирования, от момента их зарождения в конце 1980-х годов, до сегодняшних дней.


Спасибо за обзор.

Как всё совпадает иногда. Как раз сейчас читаю Software Configuration Management Patterns из Software Patterns Series за авторством Стивена Берчука и Брэда Эпплтона. Во вступительных главах много отсылок именно на Александера.

Пора, пора его уже прочитать.
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Re: Шаблоны проектирования. История успеха
От: vb-develop  
Дата: 14.01.11 12:48
Оценка: 1 (1)
Здравствуйте, Тепляков Сергей Владимирович, Вы писали:

ТСВ>Статья:

ТСВ>Шаблоны проектирования. История успеха
Автор(ы): Тепляков Сергей Владимирович
Дата: 09.01.2011
В статье рассматривается история шаблонов проектирования, от момента их зарождения в конце 1980-х годов, до сегодняшних дней.


ТСВ>Авторы:

ТСВ> Тепляков Сергей Владимирович

ТСВ>Аннотация:

ТСВ>В статье рассматривается история шаблонов проектирования, от момента их зарождения в конце 1980-х годов, до сегодняшних дней.

максимизация связей внутри компонентов (высокое сцепление, high cohesion) и
минимизация связей между компонентами (низкая связанность, low coupling).

Перевод некорректен.

Речь идет не о максимизиции связей (тех связей, которыми могут быть связаны различные компоненты между собой, аспект называемый связанностью). Иначе по контексту получается что компонент это некий неделимый атом, хотя на практике же любой компонент состоит из компонентов более низкого уровня (приложение из набора модулей, модуль из группы классов, классы из методов, и т.д.), и которые имеют связи между собой, которые [связи] в свою очередь должны быть минимизированы в соответствии со вторым принципом.

В этом контексте речь идет о связности. Вот что говорит википедия про этот термин:
Cohesion is a qualitative measure meaning that the source code text to be measured is examined using a rubric to determine a cohesion classification.
По сути это ответ на вопрос, почему некие части некоторой компоненты объединены в одной компоненте. В википедии утверждается что максимальная связность будет в случае если части компоненты объединены в данную компоненту, потому что все они решают одну well-defined задачу, определенную для данной компоненты.
http://en.wikipedia.org/wiki/Cohesion_%28computer_science%29
Re: Шаблоны проектирования. История успеха
От: shasa  
Дата: 14.01.11 20:04
Оценка:
Язык шаблонов предоставляет проектировщику работающие решения всех известных проблем в области проектирования.
— Наше лекарство лечит от всех известных науке болезней.

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

и знать не только, что из себя представляют шаблоны проектирования,
1. Всегда хотелось увидеть, как это "представлять из себя".
2. Что вы делаете с Русским Языком, ироды проклятые!
Re[2]: Шаблоны проектирования. История успеха
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 16.01.11 18:40
Оценка:
Здравствуйте, vb-develop, Вы писали:

VD>

максимизация связей внутри компонентов (высокое сцепление, high cohesion) и
VD>минимизация связей между компонентами (низкая связанность, low coupling).

VD>Перевод некорректен.

А где здесь перевод?

VD>Речь идет не о максимизиции связей (тех связей, которыми могут быть связаны различные компоненты между собой, аспект называемый связанностью). Иначе по контексту получается что компонент это некий неделимый атом, хотя на практике же любой компонент состоит из компонентов более низкого уровня (приложение из набора модулей, модуль из группы классов, классы из методов, и т.д.), и которые имеют связи между собой, которые [связи] в свою очередь должны быть минимизированы в соответствии со вторым принципом.


Может быть у вас где-то и идет речь о чем-то другом, но в первом пункте я как раз писал о максимизации связей. Здесь я писал о том, что компонент должен быть сильно связанным внутри (поскольку это определяется причинами, по которым различные *подкомпоненты* объединены в единый компонеент), и слабыми связями с другими *внешними* компонентами. Фраза "максимизация связей внутри компонентов" как раз и говорит о том, что компоненты состоят из других компонентов более низкого уровня, которые взаимодействуя друг с другом для создания компонента более высокого уровня. Но при этом каждый полученный компонент должен предоставлять минимальный интерфейс связи с внешним миром.

VD>В этом контексте речь идет о связности. Вот что говорит википедия про этот термин:

VD>Cohesion is a qualitative measure meaning that the source code text to be measured is examined using a rubric to determine a cohesion classification.
VD>По сути это ответ на вопрос, почему некие части некоторой компоненты объединены в одной компоненте. В википедии утверждается что максимальная связность будет в случае если части компоненты объединены в данную компоненту, потому что все они решают одну well-defined задачу, определенную для данной компоненты.
VD>http://en.wikipedia.org/wiki/Cohesion_%28computer_science%29

О каком контексте идет речь? В *том контексте* речь идет и о cohesion и о coupling.
Re[2]: Шаблоны проектирования. История успеха
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 16.01.11 18:55
Оценка:
Здравствуйте, shasa, Вы писали:

S>Язык шаблонов предоставляет проектировщику работающие решения всех известных проблем в области проектирования.

S>- Наше лекарство лечит от всех известных науке болезней.

S>Александер предлагает, чтобы дома и офисы проектировались и строились их жителями.

S>- Каждый может вылечить себя сам. Вам не нужно ходить к врачам и пить выписываемые ими лекарства.

Sarcasm detected А если серьезно, ну думал так человек, и благодаря его мыслям многое изменилось в нашей с вами области (речь не об архитектуре зданий, а об архитектуре программ.

S>и знать не только, что из себя представляют шаблоны проектирования,

S>1. Всегда хотелось увидеть, как это "представлять из себя".
S>2. Что вы делаете с Русским Языком, ироды проклятые!

А я всегда хочу слышать от других конструктивную критику Тем более, вам же никто не мешает взять в руки "перо" и самому показать, "что вы из себя представляете" в качестве писателя

З.Ы. Просвятите человека, я окончательно потерял сон и покой, а что не так с "представлять из себя"? И что, и где вы хотели "увидеть"?

Так, для справки:
Выражение представлять из себя имеет два значения —
1) кого-что; быть, являться кем-чем-нибудь.
Откуда новичок, что он из себя представляет?
Альбом представляет из себя собрание репродукций;

2) кого (что); прикидываться, изображать себя кем-нибудь (разг.).
Охота же представлять из себя шута.
Re[3]: Шаблоны проектирования. История успеха
От: vb-develop  
Дата: 17.01.11 08:28
Оценка:
Здравствуйте, SergeyT., Вы писали:

ST>Здравствуйте, vb-develop, Вы писали:


VD>>

максимизация связей внутри компонентов (высокое сцепление, high cohesion) и
VD>>минимизация связей между компонентами (низкая связанность, low coupling).

VD>>Перевод некорректен.

ST>А где здесь перевод?


VD>>http://en.wikipedia.org/wiki/Cohesion_%28computer_science%29


ST>О каком контексте идет речь? В *том контексте* речь идет и о cohesion и о coupling.


Хммммм.
Вообще-то low coupling и high cohesion это основополагающие принципы хорошего дизайна (в англоязычной литературе). Два выделенных пункта в твоей статье — это перевод этих принципов, как я уже сказал некорректный.
Сейчас в твоей статье получается что под одним термином обозначается два разных свойства, одно из которых должно быть минизировано (общепринятое название coupling), второе — максимизировано (общепринятое название cohesion). Поэтому чтобы не путаться в терминологии лучше использовать общепринятые (разные) названия этих свойств.
Re[3]: Шаблоны проектирования. История успеха
От: vb-develop  
Дата: 17.01.11 08:35
Оценка:
Здравствуйте, SergeyT., Вы писали:

ST>Может быть у вас где-то и идет речь о чем-то другом, но в первом пункте я как раз писал о максимизации связей. Здесь я писал о том, что компонент должен быть сильно связанным внутри (поскольку это определяется причинами, по которым различные *подкомпоненты* объединены в единый компонеент), и слабыми связями с другими *внешними* компонентами. Фраза "максимизация связей внутри компонентов" как раз и говорит о том, что компоненты состоят из других компонентов более низкого уровня, которые взаимодействуя друг с другом для создания компонента более высокого уровня. Но при этом каждый полученный компонент должен предоставлять минимальный интерфейс связи с внешним миром.


Из твоих слов следует, что компонент это-таки такая недробимая субстанция, внутри которой нельзя выделить компоненты более низкого уровня, либо их выделение приведет к сильной связанности между ними (что по сути одно и тоже). Т.е. если мы разбиваем некую софтварную инфраструктуру на набор высокоуровневых компонент (скажет, СУБД, UI, WebServices), то внутри эти компоненты обязательно должны быть реализованы из набора сильно связанных между собой классов, и никак иначе. Противоречие, разве нет? Или все-таки признаешь, что под связями в статье подразумевались разные связи (если говорить в более широком смысле последнего слова).
Я всё же рекомендую обратиться к первоисточникам, а не придумывать свою классификацию, к тому же двусмысленную.
Re[4]: Шаблоны проектирования. История успеха
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 17.01.11 09:18
Оценка:
Здравствуйте, vb-develop, Вы писали:

VD>>>

максимизация связей внутри компонентов (высокое сцепление, high cohesion) и
VD>>>минимизация связей между компонентами (низкая связанность, low coupling).

VD>>>Перевод некорректен.

VD>Хммммм.

VD>Вообще-то low coupling и high cohesion это основополагающие принципы хорошего дизайна (в англоязычной литературе). Два выделенных пункта в твоей статье — это перевод этих принципов, как я уже сказал некорректный.
VD>Сейчас в твоей статье получается что под одним термином обозначается два разных свойства, одно из которых должно быть минизировано (общепринятое название coupling), второе — максимизировано (общепринятое название cohesion). Поэтому чтобы не путаться в терминологии лучше использовать общепринятые (разные) названия этих свойств.

У меня перевод находится в скобках (высокое сцепление, high cohesion) и (низкая связанность, low coupling), а до скобок идет объяснение на пальцах.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.