Помимо шаблонов проектирования?

За последние 10 лет или около того появилось небольшое количество статей и статей, ссылающихся на новую работу Кристофера Александра «Природа порядка» и на то, как ее можно применить к программному обеспечению.

К сожалению, я могу найти только работы Джеймса Коплиена и Ричарда Гэбриэла; кроме этого ничего нет, по крайней мере, из моих попыток найти такие вещи через гугл.

Происходит ли где-нибудь подобное обсуждение?

MSN


@ Грузия

Мой вопрос не о шаблонах проектирования или языках шаблонов; Речь идет о попытке увидеть, можно ли применить к программному обеспечению больше работ Кристофера Александра (что, вероятно, возможно, поскольку оно имеет даже меньше физических ограничений, чем архитектура и строительство).

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

Это трудно объяснить, не взяв за основу некоторые из более поздних работ Александра.

Обновлено: Нет, я беру это обратно.

Например, есть шаблон архитектурного проектирования, который называется альковами. У паттерна есть контекст, который коренится не только в обстоятельствах ситуации, но и в фундаментальных принципах назначения зданий: они являются строениями, в которых нужно жить, и должны способствовать жизни в них. В случае с шаблоном альков контекст заключается в том, что вам нужна область, которая позволяет нескольким людям находиться в одной и той же области, занимаясь разными делами, потому что для членов семьи важно быть вместе физически, а также иметь возможность делать разные вещи. вещи, которые отвлекают других членов семьи.

Большинство шаблонов проектирования программного обеспечения описывают проблему в контексте, но они не делают более глубокого заявления о том, почему проблема важна или почему проблема является чем-то фундаментальным для программного обеспечения. Это позволяет очень легко применять шаблоны проектирования ненадлежащим образом или беспечно, что является полной противоположностью первоначальному замыслу шаблонов проектирования.

MSN Взаимодействие с другими людьми

Я считаю, что шаблоны GRASP составят конкретный фактический ответ на заданный вопрос. en.wikipedia.org/wiki/GRASP_%28object-oriated_design%29

srm 03.04.2015 00:04
Повышение качества Laravel с помощью принципов SOLID: Лучшие практики и примеры
Повышение качества Laravel с помощью принципов SOLID: Лучшие практики и примеры
Когда мы говорим о том, как сделать следующий шаг в качестве разработчика, мы должны понимать, что качество кода всегда является основным фокусом на...
Принципы SOLID - лучшие практики
Принципы SOLID - лучшие практики
SOLID - это аббревиатура, обозначающая пять ключевых принципов проектирования: принцип единой ответственности, принцип "открыто-закрыто", принцип...
11
1
984
2

Ответы 2

Ваш вопрос напоминает о некоторых комментариях, сделанных Эриком Эвансом в его книге «Доменно-ориентированный дизайн». Он отмечает, что шаблоны проектирования при разработке программного обеспечения часто описываются как чисто технические решения технических проблем. Но иногда есть возможность применить шаблон, который не только структурирует реализацию программного обеспечения, но также имеет значение для бизнес-модели.

Например, рассмотрите использование шаблона СТРАТЕГИЯ просто как деталь реализации, в отличие от случая, когда программистам и бизнесу действительно имеет смысл говорить о том, как выбираются и используются СТРАТЕГИИ, т.е. система:

When we use the technical design pattern in the domain layer, we have to add an additional motivation, another layer of meaning. When the STRATEGY corresponds to an actual business strategy or policy, the pattern becomes more than just a useful implementation technique (though that too is valuable as far as it goes). [Chapter 12]

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

Другие вопросы по теме