Clever Geek Handbook
📜 ⬆️ ⬇️

Naked objects

Naked objects (literally from English can be translated as “bare objects”) is an architectural template used in software development in software engineering .

Content

Definition

The Naked objects pattern is defined using three principles:

1. All business logic must be encapsulated in a domain object business object. This principle is not a unique feature of naked objects: it is only strict adherence to the obligations defined by encapsulation .

2. The user interface should be a direct representation of domain objects , with all user actions explicitly containing the creation or receipt of domain objects and / or method calls to these objects. This principle is also not a unique feature of naked objects: it is only a private interpretation of the object -oriented user interface (OOUI).

The true idea of ​​the Naked objects pattern arises from a combination of both of the above ideas in the form of a third principle:

3. The user interface can be formed completely automatically from the definition of domain objects. This principle can be implemented by using several technologies such as code generation and reflection.

The Naked objects pattern was first formally defined in PhD's dissertation [1] , which included a thorough study of various template predecessors, including, for example, the Morphic user interface.

Naked Objects are usually contrasted with a model-view-controller pattern. However, the published version of the Pawson dissertation (see References) contains a preface by Trygve Reenskaug , the inventor of the model-view-controller template , stating that naked objects are closer to the original Model-View-Controller idea than subsequent interpretations and implementation.

Criticism

The Naked objects pattern has come under some criticism since the first public demonstration of the idea at the OOPSLA 2001 conference, sponsored by Intriguing Technologies . Criticism of this approach usually focuses on one of three main areas:

  • Validity of intent to encapsulate all business logic in a domain object. The pros and cons of this idea can be found in the research literature on object-oriented programming and domain-driven design .
  • Applicability of an object-oriented user interface [2] .
  • Usability (usability) of the generic user interface.

Although none of the above arguments is specific to this template, the fact that naked objects combines all three ideas together makes it especially vulnerable to this criticism.

Notes

  1. ↑ Pawson, R., Naked Objects, Ph.D. Thesis, 2004, Trinity College, Dublin, Ireland pdf version Archived June 27, 2014.
  2. ↑ Larry Constantine: The Emperor Has No Clothes: Naked Objects Meet the Interface

Literature

  • Dan Haywood Domain-driven Design Using Naked Objects. - Pragmatic Bookshelf, 2009 .-- 397 p. - ISBN 978-1-934356-44-9 .
  • Richard Pawson, Robert Matthews. Naked Objects. - Wiley, 2003 .-- 265 p. - ISBN 978-0-470-84420-5 .
Source - https://ru.wikipedia.org/w/index.php?title=Naked_objects&oldid=101259602


More articles:

  • Rate of Fire
  • Winter Cherry
  • St. John's Wort (film)
  • Pillow plants
  • Once upon a time there was a tuner
  • Smirnov, Alexey Semenovich
  • Volkswagen Touareg
  • Vasudeva Ghosh
  • Palmer (Antarctic Station)
  • Equality of classes P and NP

All articles

Clever Geek | 2019