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

редактировать

Мартин Фаулер
Webysther 20150414193208 - Мартин Фаулер.jpg Выступление в Университете Сан-Паулу, Бразилия, 2015 г.
Родился ( 1963-12-18)18 декабря 1963 г. (57 лет) Уолсолл, Англия
Образование Университетский колледж Лондона ( бакалавр, 1986)
Занятие Разработчик программного обеспечения, автор, оратор
Работодатель ThoughtWorks
Веб-сайт martinfowler.com

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

Его книга 1999 года « Рефакторинг» популяризировала практику рефакторинга кода. В 2004 году он представил архитектурный паттерн Presentation Model (PM).

СОДЕРЖАНИЕ
  • 1 Биография
  • 2 публикации
  • 3 доменных языка
  • 4 ссылки
  • 5 Внешние ссылки
биография

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

Фаулер начал работать с программным обеспечением в начале 1980-х годов. После окончания университета в 1986 году он начал заниматься разработкой программного обеспечения в Coopers amp; Lybrand до 1991 года. В 2000 году он присоединился к ThoughtWorks, компании по системной интеграции и консалтингу, где он занимает должность главного научного сотрудника.

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

Публикации
  • 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 определяются как составной язык программирования, ориентированный на отдельную область и имеющий выразительные ограничения. Утверждается, что DSL могут повысить производительность, устраняя требование от программиста понимать полный язык программирования, предоставляя средства связи с экспертами в предметной области и отделяя способ выполнения задачи от определения самой задачи. Эти преимущества сопоставлены с затратами на изучение нового языка и создание инструментов для этого языка, что приводит к тому, что разные языки и абстракции, используемые в DSL, не подходят для решения конкретной задачи.

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

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

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

использованная литература
внешние ссылки
Последняя правка сделана 2024-01-01 07:47:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте