Differences

This shows you the differences between two versions of the page.

Link to this comparison view

it:ad:patterns:lowest_framework_profile [2019/03/24 12:02] (current)
Line 1: Line 1:
 +# IT:​AD:​Patterns:​Lowest Framework Profile #
  
 +
 +
 +<callout type="​Navigation"​ class="​small">​
 +* [[../​|(UP)]]
 +{{indexmenu>​.#​2|nsort tsort}}
 +
 +
 +</​callout>​
 +
 +
 +<panel title="​Summary">​
 +
 +For the maintainability of an application over the lifetime of it's business domain'​s usefulness, the software may need to ported to use a more current Presentation framework.
 +
 +Whereas the software might require running on a server today, the application might be of use on a cellphone in the future, keeping the same business logic, but changing the Presentation Layer from ASP.MVC to Windows8 Silverlight,​ and the datastorage.
 +
 +
 +</​panel>​
 +
 +
 +## Recipe ##
 +Similar to the the [[IT/​AD/​Patterns/​Minimal Dependency Cardinality/​]] concept, when dealing with .NET40 or earlier, set the .NET Framework of new assemblies to .NET Client, and only grudgingly allow it to be set to .NET Full Framework, after careful consideration whether it is truly needed.
 +
 +Examples of a DDD based Solution'​s Assemblies that generally do not require the Full Framework are:
 +
 +
 +* [[IT/​AD/​Patterns/​DDD/​Components/​4Tier/​App.Front.Application/​]]
 +
 +* [[IT/​AD/​Patterns/​DDD/​Components/​4Tier/​App.Back.Application/​]]
 +
 +
 +Examples of DDD based Solution'​s Assemblies that generally require the use of functionality that is only available in the Full Framework:
 +
 +* [[IT/​AD/​Patterns/​DDD/​Components/​4Tier/​App.Front.UI.Web.Mvc/​]]
 +   * UI Web Frameworks such as MVC depend on `System.Web.HttpContext`.
 +* [[IT/​AD/​Patterns/​DDD/​Components/​4Tier/​App.Back.Domain.Persistence/​]]
 +   * Entity Framework requires the Full Framework.
 +
 +
 +>Note:
 +>This is no longer the case with .NET45 or higher: [http://​code-inside.de/​blog-in/​2013/​01/​26/​byebye-net-client-profile-with-net-4-5/​](http://​code-inside.de/​blog-in/​2013/​01/​26/​byebye-net-client-profile-with-net-4-5/​)
 +
 +## Resources ##
 +
 +* [http://​code-inside.de/​blog-in/​2013/​01/​26/​byebye-net-client-profile-with-net-4-5/​](http://​code-inside.de/​blog-in/​2013/​01/​26/​byebye-net-client-profile-with-net-4-5/​)