The Naked Objects Framework
Naked Objects is a .NET framework that takes a domain object model, written as POCOs but following a few very simple conventions, and dynamically creates one or more complete interfaces for it, using reflection (not 'code generation' or 'scaffolding'). It is highly effective in support of Domain-Driven Design
, OO Modelling
, and/or Agile Development
. Persistence is handled by Microsoft's Entity Framework - or you may write your own custom persistor.
Naked Objects MVC
Naked Objects MVC builds upon the core framework to create a complete web-based user interface, using ASP.NET MVC 4
. The generic user interface may be customised via the .CSS, by adding custom views, or custom controllers, as needed.
Restful Objects for .NET
This also builds upon the core framework to create a complete RESTful API to your domain model that conforms to the Restful Objects specification
. There are already a number of frameworks for creating both beskpoke and generic user interfaces to run against any Restful Objects API. We particularly recommend Spiro
(Single Page Interface for Restful Objects), if only because it is authored by the same team as Naked Objects and Restful Objects for .NET
Unless you specifically want to build or modify the framework, we recommend that you install the framework using NuGet
- search the Offcial NuGet Package Source for 'NakedObjects'. The following links show you which of the packages to use where, and how to get started.
Before starting, please check the System Requirements
, listed under the Documentation
Naked Objects MVC:
- Installing and Running the Sample application. Download the complete AdventureWorks Sample Application solution (from the Downloads tab).
- Developing an application (from scratch) with Naked Objects, using the 'Code First' approach. Watch the video or download and run the Code First Example solution (from the Downloads tab).
- Customising the default User Interface video
There is also a comprehensive Application Developer Manual (from the Downloads tab).Subscribe to our mailing list
to receive updates.