Analysis Patterns 1.0 Help

Ральф Джонс

Предисловие

Когда «Банда четырех» писала Design Patterns, мы знали, что существует множество паттернов программного обеспечения, помимо паттернов объектно-ориентированного проектирования. К тому времени, когда мы закончили работу над книгой, мы уже видели паттерны распределенного программирования, паттерны пользовательского интерфейса и даже паттерны организации групп разработчиков программного обеспечения. Однако мы не видели ни одного паттерна, который был бы явно паттерном объектно-ориентированного анализа. Ближе всего были паттерны Питера Коуда (Peter Coad), но они были очень похожи на наши паттерны, и нам казалось, что паттерны чистого анализа должны отличаться больше.

Я нашел то, что искал, когда прочитал черновик книги Мартина Фаулера "Аналитические шаблоны". Его паттерны содержат много знаний о предметной области, но при этом могут быть использованы во всех видах бизнес-программ. Как и паттерны проектирования, они достаточно абстрактны, чтобы помочь вашему программному обеспечению преодолеть неровности, связанные с изменением требований, но достаточно конкретны, чтобы быть понятными. Это не самые очевидные решения проблем моделирования, но мне они показались верными. Многие из этих решений я уже видел раньше, и они работали.

Я больше дизайнер, чем моделист, и у меня нет большого опыта в большинстве областей, которые описывает Мартин Фаулер. Хотя я чувствовал, что паттерны хороши, я не мог быть уверен в своих ощущениях. С тех пор как я прочитал книгу, я опробовал паттерны на проектах и использовал их в преподавании. Они работают! Моя уверенность возросла еще больше, когда я наткнулся на книгу Дэвида Хэя "Шаблоны моделей данных" (David Hay, «Data Model Patterns») и понял, что, несмотря на разный опыт и словарный запас, они видят много одинаковых паттернов. Паттерны должны описывать реальность, а не изобретать новую, и Мартин Фаулер точно описал паттерны в объектно-ориентированных моделях бизнес-программ. Вы можете быть уверены в описанных им паттернах.

Это не книга о принципах, которые вы должны научиться применять, прежде чем они смогут вам помочь, хотя Мартин описывает множество принципов моделирования. Это не книга, которую нужно прочитать от корки до корки и попрактиковаться, прежде чем она принесет вам пользу. Это книга, полная практических паттернов, которые вы можете использовать прямо сейчас. Ищите главы, которые соответствуют типу проблемы, над которой вы сейчас работаете, и вы найдете множество идей, которые помогут вам. Вы можете читать книгу по главам, и каждая глава будет давать вам новые идеи.

Чтобы извлечь максимум пользы из этой книги, вам нужно знать две вещи. Во-первых, многие паттерны более мощные, чем может показаться на первый взгляд. Такие паттерны, как Ответственность, можно применить практически в любом проекте. Не читайте только те главы, которые явно относятся к вашему проекту, а выучите как можно больше паттернов и попробуйте их на практике, чтобы понять, насколько они применимы. Во-вторых, убедитесь, что книгу прочитали ваши коллеги. Одно из самых больших преимуществ паттернов заключается в том, что они помогают нам лучше общаться. Вы обнаружите, что ваши командные встречи будут проходить более гладко, когда у вас будет общий словарь. Эта книга сделает документацию более последовательной и понятной. Кроме того, она сделает ваших коллег лучшими аналитиками, а работать с людьми, которые хорошо выполняют свою работу, гораздо приятнее!

Ральф Джонсон (Ralph Johnson)

Last modified: 16 January 2025