Recently moved a few presentations, demos, and sample code to my github space here. Looking to add more soon.
- Demo Object To Object Mapping April 2011
- Demo Chocolatey Feb 2012
- Demo NuGet Fast Overview March 2012
- Demo TDD November 2012
Videos and Chalk Talks expand on this content. Any feedback is welcome and appreciated.
WhitePaper Title: Object to Object Mapping: AutoMapper and ValueInjecter Deliver Real Value ( Domain Models Constrained to Domain Layer ).
In Domain-Driven Design ( DDD ), creating a rich domain model is essential for capturing complex real-world representative business process that can deliver business value. Domain models live inside the domain layer, are not portable and not exposed to the outside world by design. A standard practice is to not expose these models to other layers of the application. In fact implementing Model-View-Controller ( MVC ), Model-View-Presenter ( MVP ), or Model-View-ViewModel ( MVVM ) promote Separation of Concerns ( SoC ) and the concept views are ignorant of the domain models and domains are ignorant of the views. To implement these patterns and practices, often other models are created, for example Data Transform Objects ( DTOs ), ViewModels, EditModels, and messages. Object to Object Mapping, flattening or unflattening between domain models and afore mentioned models is tedious, monotonous, error prone, and boring code to write not to mention the needless amount of code to maintain. Frameworks like AutoMapper and ValueInjecter can help solve our problems, providing convention over configuration, and removing the painful mapping code.
All code examples demonstrated are available in detail in a series of code sample projects. The sample code is strictly to demonstrate AutoMapper and ValueInjecter value and depict basic usage. In no way is this code sample best practices on how to structure your applications. To aid in learning, NUnit is used to wrap code sample functionality into a testable unit that allows debugging.
The best resource for learning is the framework source code itself. AutoMapper has an extensive unit test library, perfect to get under the hood and even leverage to test custom extensions. ValueInjecter has a unit test library too but an even better set of sample projects demonstrating usage in ASP.NET MVC, Silverlight, ASP.NET Web Forms, Win Forms, WPF, and DAL.
Minimium Install Requirements:
Frozen Bytes Chocolatey Series with Video and Demo code content.
NuGet 101, a blazing fast overview. My goal is to provide an introductory overview of NuGet. NuGet is a package manager for .NET framework that manages dependencies. If there is time I plan to briefly cover Chocolatey and CoApp, Windows packages managers similar to apt-get in Linux.
It is my opinion NuGet MUST become a standard for managing dependencies on ALL projects going forward within our account and .NET practice at CompanyX. I also believe to fully take advantage of the power of NuGet, it MUST be integrated in our CI processes and in some cases deployments.
Minimium Install Requirements:
Introduction to Test Driven Development.