Martin Fowler

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For other people named Martin Fowler, see Martin Fowler (disambiguation).
Martin Fowler
Martin Fowler (2008).jpg
Born 1963 (age 51–52)
Walsall, England
Residence Melrose, Massachusetts
Education University College London (BSc, 1986)[1]
Occupation Software engineer, author, public speaker
Employer ThoughtWorks
Website
martinfowler.com

Martin Fowler (born 1963) is a British software engineer, author and international public speaker on software development, specializing in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.

His 1999 book Refactoring popularized the practice of code refactoring.[2] In 2004 he introduced Presentation Model (PM), an architectural pattern.[3]

Biography[edit]

Fowler was born and grew up in Walsall, England, where he went to Queen Mary's Grammar School for his secondary education. He graduated at University College London in 1986. In 1994 he moved to the United States, where he lives near Boston, Massachusetts in the suburb of Melrose.[1]

Fowler started working with software in the early 1980s. Out of college in 1986 he started working in software development for Coopers & Lybrand until 1991.[4] In 2000 he joined ThoughtWorks, a systems integration and consulting company,[1] where he serves as Chief Scientist.[5]

Fowler has written eight books on the topic of software development (see Publications). He is a member of the Agile Alliance and helped create the Manifesto for Agile Software Development in 2001, along with 16 fellow signatories.[6] He maintains a bliki, a mix of blog and wiki. He popularized the term Dependency Injection as a form of Inversion of Control.[7][8]

Publications[edit]

References[edit]

  1. ^ a b c Martin Fowler at martinfowler.com. Retrieved 2012-11-15.
  2. ^ Stephane Faroult; Pascal L'Hermite (2008). Refactoring SQL Applications. O'Reilly Media. p. 8. ISBN 978-0-596-55177-3.
  3. ^ Stephen Chin; Dean Iverson; Oswald Campesato; Paul Trani (2011). Pro Android Flash. Apress. p. 300. ISBN 978-1-4302-3232-2.
  4. ^ James A. Highsmith (2002). Agile Software Development Ecosystems. Addison-Wesley Professional. p. 133. ISBN 978-0-201-76043-9.
  5. ^ Martin Fowler | ThoughtWorks. Retrieved 2015-03-30.
  6. ^ Manifesto for Agile Software Development. Retrieved 2012-12-10.
  7. ^ Kamil Piętak; Marek Kisiel-Dorohinicki (2013). "Agent-Based Framework Facilitating Component-Based Implementation of Distributed Computational Intelligence Systems". In Ngoc-Thanh Nguyen; Joanna Kołodziej; Tadeusz Burczyński et al. Transactions on Computational Collective Intelligence X. Springer. p. 38. ISBN 978-3-642-38496-7.
  8. ^ Martin Fowler (2004) "Inversion of Control Containers and the Dependency Injection pattern". Retrieved 2012-11-15.

External links[edit]