Naked Objects

Naked Objects is an architectural pattern from the field of software engineering. It is defined by the following three principles:

Thus, a clear separation between business logic and presentation logic is achieved, which in particular supports the Single Responsibility Principle.

The Naked Objects Architectural Pattern was first on the OOPSLA conference in 2001 under the name " Expressive Systems: A Radical Approach to Business Systems Design" presented by Richard Pawson and Simon Dobson. Later, it was described by Richard Pawson in his thesis in detail.

Naked Objects is often compared with the Model View Controller (MVC ) architecture pattern. The preface of the thesis - written by Trygve Reenskaug, the discoverer of MVC - describes that Naked Objects closer to the original idea of MVC is than most interpretations and implementations of MVC.

Objectives

The first two principles ( " Full images of the business logic in technical objects " and " Direct representation of the user interface by specialized objects") are not new and widespread in the computer science even partially. They are based on an uncompromising interpretation of Datenkapselungprinzips and a rather unusual approach to creating Graphical User Interfaces. Only the combination of the first two principles and their logical continuation in the third principle ( the automatic generation of GUIs) support the goals of the Naked Objects Architectural pattern:

Disadvantages and criticisms

All these disadvantages and criticisms do not relate solely to Naked Objects, but also on the combined in Naked Objects ideas.

Use

Probably the first operational use of the Naked Objects Architectural pattern was made in November 2002 by the Department of Social and Family Affairs ( Ministry of Social Affairs ) in Ireland. The converted application for the administration of child support was one of several enterprise applications by the Department of Social and Family Affairs, which were implemented by means of Naked Objects. The lessons from this experience, including the reactions of the users has processed in his dissertation Richard Pawson. In particular, reached by Naked Objects reusability of domain objects across multiple request areas was evaluated positively.

The employed here Naked Objects initial architecture was developed by Fujitsu, but later ported to the open source framework " Naked Objects for Java " and developed ..

Connection with other technologies

Frameworks

Meanwhile, there are various programming languages ​​, a number of frameworks that support the Naked Objects Architectural Pattern:

  • Java: Domain Object Explorer
  • JMatter, an open source (GPL ) Java framework for creating business applications for workgroups
  • Apache Isis
  • Sanssouci
  • Tynamo
  • Lablz - Data objects as Web Applications
  • DotObjects
  • Naked Objects for. NET
  • TrueView for. NET
  • Typical Objects for C
  • NakedPhp
591408
de