Jump to content

Мартин Фаулер (инженер-программист)

Мартин Фаулер
Фаулер в 2015 году
Рожденный ( 1963-12-18 ) 18 декабря 1963 г. (60 лет)
Уолсолл , Англия, Великобритания
Образование Университетский колледж Лондона ( бакалавр наук , 1986 г.) [1]
Род занятий Разработчик программного обеспечения, автор, оратор
Работодатель МысльВоркс
Веб-сайт ласточка

Мартин Фаулер (18 декабря 1963 г.) — британский разработчик программного обеспечения . [2] автор и международный оратор по разработке программного обеспечения, специализирующийся на объектно-ориентированном анализе и проектировании , UML , шаблонах и гибких методологиях разработки программного обеспечения, включая экстремальное программирование .

Его книга «Рефакторинг» 1999 года популяризировала практику рефакторинга кода . [3] В 2004 году он представил новый архитектурный шаблон , названный Моделью Представления (PM). [4]

Биография [ править ]

Фаулер родился и вырос в Уолсолле , Англия, где он пошел в гимназию королевы Марии, чтобы получить среднее образование. Он окончил Университетский колледж Лондона в 1986 году. В 1994 году он переехал в США, где живет недалеко от Бостона , штат Массачусетс, в пригороде Мелроуз . [1]

Фаулер начал работать с программным обеспечением в начале 1980-х годов. Окончив университет в 1986 году, он начал работать в сфере разработки программного обеспечения в Coopers & Lybrand до 1991 года. [5] В 2000 году он присоединился к ThoughtWorks , компании по системной интеграции и консалтингу. [1] где он был главным научным сотрудником. [6]

Фаулер написал девять книг по теме разработки программного обеспечения. Он является членом Agile Alliance и помог создать Манифест гибкой разработки программного обеспечения в 2001 году вместе с 16 другими подписавшими его сторонами. [7] Он поддерживает блики , смесь блога и вики . Он популяризировал термин «внедрение зависимостей» как форму инверсии контроля . [8] [9]

Публикации [ править ]

  • 1996. Шаблоны анализа: объектные модели многократного использования . Аддисон-Уэсли. ISBN   0-201-89542-0 .
  • 1997. UML Distilled: Краткое руководство по стандартному языку объектного моделирования . Аддисон-Уэсли. ISBN   978-0-201-32563-8 .
  • 1999. Рефакторинг: улучшение конструкции существующего кода , с Кентом Беком , Джоном Брантом, Уильямом Опдайком и Доном Робертсом (июнь 1999 г.). Аддисон-Уэсли. ISBN   0-201-48567-2 .
  • 2000. Планирование экстремального программирования . С Кентом Беком . Аддисон-Уэсли. ISBN   0-201-71091-9 .
  • 2002. Шаблоны архитектуры корпоративных приложений . С Дэвидом Райсом, Мэтью Фоммелом, Эдвардом Хиеттом, Робертом Ми и Рэнди Стаффордом. Аддисон-Уэсли. ISBN   0-321-12742-0 .
  • 2010. Предметно-специфичные языки . С Ребеккой Парсонс. Аддисон-Уэсли. ISBN   978-0-321-71294-3 .
  • 2012. NoSQL Distilled: Краткое руководство по развивающемуся миру многоязычной персистентности . С Прамодом Садалаге. Аддисон-Уэсли. ISBN   978-0-321-82662-6 .
  • 2013. Рефакторинг: Ruby Edition . С Кентом Беком , Шейном Харви и Джеем Филдсом. Аддисон-Уэсли. ISBN   978-0-321-98413-5 .
  • 2018. Рефакторинг: улучшение дизайна существующего кода, второе издание . Кент Бек и Мартин Фаулер. Аддисон-Уэсли. ISBN   978-0-134-75759-9 .

Языки, специфичные для предметной области [ править ]

В своей книге « Языки, специфичные для предметной области» , Фаулер обсуждает языки, специфичные для предметной области , DSL. Говорят, что DSL определяются как составные языки программирования, ориентированные на отдельную область и имеющие ограниченную выразительность. [10] : 27  Утверждается, что DSL могут повысить производительность, устраняя требование к программисту понимать полный язык программирования, предоставляя средства общения с экспертами в предметной области и отделяя способ выполнения задачи от определения самой задачи. [10] : 33  Эти преимущества сравниваются с затратами на изучение нового языка и создание инструментов для этого языка, что приводит к разрознению различных языков и абстракциям, используемым в DSL, которые не подходят для конкретной задачи. [10] : 39 

Фаулер вводит концепцию внутреннего (или встроенного ) и внешнего DSL, причем внутренний DSL — это DSL, который является подмножеством другого языка и может выполняться инструментами этого внешнего языка. Ruby и Lisp приведены в качестве примеров языков, в которых распространены внутренние DSL. Он также представляет идею семантической модели , которая определяет выполнение DSL. [10] : 14  Представлены различные примеры DSL, включая Graphviz , язык для указания графов отображаемых ; JMock, среда для создания макетов Java; CSS — язык для определения стилистических элементов веб-сайта; HQL , реляционный преобразователь объектов в Java ; XAML — язык, используемый для определения и изменения графических пользовательских интерфейсов ; FIT — язык для описания сценариев тестирования; и создайте инструмент для создания программного обеспечения [10] : 147 

В книге обсуждается реализация внешнего DSL с использованием таких инструментов, как парсеры , лексеры , абстрактные синтаксические деревья и генерация кода, называемая «синтаксически-ориентированным переводом». [10] : 219  Это контрастирует с «переводом на основе разделителей», который считается более простым, но менее эффективным. Здесь язык достаточно прост, чтобы его можно было интерпретировать путем разделения по разделителям и логики переключения на основе отдельных записей. [10] : 201 

Обсуждаются способы реализации внутренних DSL, уделяя внимание вложенным вызовам функций. [10] : 357  последовательность вызовов функций, [10] : 351  или цепочка методов [10] : 373  среди других методов.

Ссылки [ править ]

  1. ^ Jump up to: Перейти обратно: а б с Мартин Фаулер на martinfowler.com. Проверено 15 ноября 2012 г.
  2. ^ «О Мартине Фаулере» . martinfowler.com . Проверено 1 мая 2021 г.
  3. ^ Стефан Фару; Паскаль Л'Эрмит (2008). Рефакторинг SQL-приложений. О'Рейли Медиа. п. 8. ISBN   978-0-596-55177-3 .
  4. ^ Стивен Чин; Дин Айверсон; Освальд Кампесато; Пол Трани (2011). Про Android Flash . Апресс. п. 300. ISBN   978-1-4302-3232-2 .
  5. ^ Джеймс А. Хайсмит (2002). Гибкие экосистемы разработки программного обеспечения . Аддисон-Уэсли Профессионал. п. 133. ISBN   978-0-201-76043-9 .
  6. ^ Мартин Фаулер | МысльВоркс . Проверено 30 марта 2015 г.
  7. ^ Манифест гибкой разработки программного обеспечения . Проверено 10 декабря 2012 г.
  8. ^ Камил Пентак; Марек Кисель-Дорохиницкий (2013). «Агентная платформа, облегчающая компонентную реализацию распределенных систем вычислительного интеллекта». В Нгок-Тхань Нгуене; Джоанна Колодзей; Тадеуш Бурчинский и др. Труды по вычислительному коллективному разуму X . Спрингер. п. 38. ISBN   978-3-642-38496-7 .
  9. ^ Мартин Фаулер (2004) « Инверсия контейнеров управления и шаблон внедрения зависимостей ». Проверено 15 ноября 2012 г.
  10. ^ Jump up to: Перейти обратно: а б с д и ж г час я дж Фаулер, Мартин (2011). Языки, специфичные для предметной области . Река Аппер-Сэддл, Нью-Джерси: Аддисон-Уэсли. ISBN  978-0-13-210754-9 . OCLC   686709295 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1cfef018d354d47f50c6be4a7792d358__1712999520
URL1:https://arc.ask3.ru/arc/aa/1c/58/1cfef018d354d47f50c6be4a7792d358.html
Заголовок, (Title) документа по адресу, URL1:
Martin Fowler (software engineer) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)