The Showcase MVC Ubiquitous Language
The MVC Showcase Lexicon of Terms
Ubiquitous Language for the Showcase Modern Developer’s MVC Design Pattern will define the Lexicon of Terms used within the implementation of the design pattern.
This Lexicon of Terms provides a clear understanding of Component Names and Responsibilities, along with the Dependency Roles they may provide.
There are many interpretations of some of the implemented terms.
The Lexicon of Terms will clearly define the term’s use in the Showcase MVC Design Pattern.
The Ubiquitous Language:
Term |
Category |
Arena |
Definition |
Ubiquitous Language |
Agile |
Dev |
A Lexicon of Terms created for all interested parties and team member. The lexicon helps to guarantee that everyone understands the language for more successful communication during the Application Life Cycle. |
MVC |
Agile |
MVC |
The MVC design pattern “Model/View/Controller” has a User Interface that is encapsulated in a “View”, the Browser Web page.The Web Page information is bound to the page as a Strongly Typed Class State DTO “Model”.The MVC Showcase pattern has split the Model into View Models and Models.
The View Model holds the “Behavior Business Logic Methods” that creates the Models. Models are State DTO Classes that move Data to and from various Architecture layers. The “Controller” brokers the View Request to a Business Logic Layer Method call that generates the “Model”. The “Controller” then delivers the “Model” to the “View” for consumption. The Modern Developer’s Enterprise MVC Application complying with Best Practices in Object Oriented Programming and Development Practices and Principles while adhering to a documented Code Standard
|
Modified MVC Design Pattern |
Agile |
MVC |
The Modern Developer’s Enterprise MVC Application splits the MODEL into Behavior and State Elements.The View Model holds all Business Logic Methods while the Models hold all the State DTO Data Information.This Modification of the MVC Design Pattern complies with the Modern Developer’s Behavior Versus State Design Principle.
|
CLR |
C# |
Dev |
CLR stands for Common Language Run-time. This is the environment that all .NET application run. |
C# POCO Object |
C# |
Dev |
A C# POCO Object is a Plain Old C#, or sometimes called a CLR, Object. A POCO is a C# Class. |
Behavior Object |
C# |
Dev |
A Behavior Object is a C# Class that contains Action Methods that perform some work when called. Behavior Methods a named as Verbs for the Actions they perform. |
The Controller |
Controller |
MVC |
The Controller brokers the View Request to a Business Logic Layer Method call that generates the Model. The Controller then delivers the Model to the View for consumption. |
Data Services Design Block |
Data Services |
MVC |
A Data Services design block is the lowest level of abstraction. It controls the flow of the View Response DTO information, requested by the Controller, using the View Request DTO. |
Off Domain Information Services |
Data Services |
MVC |
An Off Domain Service is a service that must be called as a Web Service as the source Code Library is not accessible to the Application. |
On Domain Information Services |
Data Services |
MVC |
An On Domain Service is a service can be called from the Source Code Library and is accessible to the Application. |
Services Data Cache |
Data Services |
MVC |
The Services Data Cache is an Application Level Caching Model that will store Information Services Return DTO information. |
Stub Data Services |
Data Services |
MVC |
Stub Data Services Return DTO information is an Application level data source created at the beginning of the development process. Stub Data enables Test Driven Development (TDD) Unit Testing of this lowest level abstraction of the modified MVC design pattern. |
Strongly Typed C# POCO Object |
DTO |
Dev |
A Strongly Typed C# POCO Objects a C# Class that can be instantiated and referenced by a name. That Name is the Class Type. All Software Entities encapsulated within the Type are Class Members of the POCO Object. |
Data Transfer Object |
DTO |
Dev |
A Data Transfer Object is a State C# Class the is used to pass Data between Architectural Layers. Web Service calls, Methods Calls with Send and Receive DTOs as the State Information Objects. |
State Object |
DTO |
Dev |
A State Object is a C# Type that hold Data. It does not perform Actions other the Initialization of the Data Properties that hold the State Information. State Objects are named as Nouns as they are Things and do not perform any official actions. |
View Response DTO |
DTO |
Model |
The View Response DTO is the State Object that holds the Data for the View as a Strongly Typed C# POCO Object |
View Request DTO |
DTO |
View |
The View Request DTO is the State Object that holds the Data requested from the view Query String call to the Controller as a Strongly Typed C# POCO Object |
The Model |
Model |
MVC |
The Model is a State Class Object, a DTO. The Model class contains only Property State Data Software Entities that represent Primitives and Aggregate DTOs. |
The View |
View |
MVC |
The User Interface Website pages are rendered using the Razor View Engine. A UI Web page request is sent to a Controller Method and is transformed into a View Request DTO within the Controller block. |
The View Model |
View Model |
MVC |
The View Model Factory encapsulates the responsibility for creation of the Model, a Strongly Typed C# class that holds the requested data and error information. |
Wisdom Pearl # 113: Understanding Success
Have a Crystal Clear Understanding of Your Destination
… Or You Might Drive Right By It
The Ubiquitous Language give you the Communication Tools to Clearly Define Your Success
Latest posts by Brad Huett (see all)
- DevOps: A Bridge to Your DevOps Culture - March 25, 2016
- Embracing Test Driven Development (TDD) - March 25, 2016
- DevOps: Delivering Agile Projects - March 25, 2016