Architectures + Patterns

A list of links about Architectures and Patterns

Architectures

N Tier Architecture and Tips
What Is a Software Architect? – CodeProject

MVC, MVP, MVVM

MVC Introduction
Learning MVC – Part 1: Introduction to MVC Architecture and Separation of Concerns – CodeProject
Why(s) & How(s) of Asp.Net MVC Part 2 – CodeProject
Understanding Microsoft ASP.NET MVC Fundamentals
WebForms vs. MVC – CodeProject
Webforms vs MVC and Why MVC is better ?. – CodeProject
Routing Basics in ASP.NET MVC
An Absolute Beginner's Tutorial for understanding Entity Framework's Code First Approach in ASP.NET MVC
Complete CRUD Operations in MVC 4 using Entity Framework 5 Without Writing a Single Line of Code
MVC interview questions with answers
Learning MVC – Part 5 Repository Pattern in MVC3 Application with Entity Framework
CRUD Operations Using the Repository Pattern in MVC
MVC or MVP Pattern, what’s the difference?
Basic Understanding On ASP.NET MVC 4 – CodeProject
MVVM (Model-View-ViewModel) Pattern For Windows Form Applications, using C# – CodeProject
MV* (MVC, MVP, MVVM) An Investigation From the Ground Up- Part 1 of 2 – CodeProject
CRUD Operations Using the Generic Repository Pattern and Unit of Work in MVC – CodeProject
MVC interview questions with answers
Big n Bulky "How To" Document for ASP.NET MVC, Entity Framework, LINQ, HTML 5 and JQuery – CodeProject
Single Page Application with .NET MVC and AngularJS – CodeProject
MVC interview questions with answers – CodeProject
CRUD Operations Using the Generic Repository Pattern and Unit of Work in MVC – CodeProject
CRUD Operations Using Entity Framework 5.0 Code First Approach in MVC – CodeProject
Jon Galloway – Two free video courses: Intro to ASP.NET MVC and Responsive UI with Bootstrap
ASP.NET MVC Dynamic Routing – CodeProject
CheckBoxList(For) – A missing MVC extension – CodeProject
Scan and Upload Documents in ASP.NET MVC App using Dynamic Web TWAIN – CodeProject
Uploading and returning files in ASP.NET MVC
MVC4 Different Redirection Techniques (Razor)
ASP.NET MVC- Partial Views For Beginners – CodeProject
Select, Insert and Delete in MVC using WCF Services – CodeProject
Custom Helpers in Asp.net MVC4 – CodeProject
MVC 5, Entity Framework 6 and Many to Many Relationship : a step by step View Model approach – CodeProject
AngularJS With MVC Web API (ASP.NET MVC RESTful Service) – CodeProject
Advantages of ViewModel in MVC(Model View Controller) – CodeProject
Code-First Approach with ASP.NET MVC Framework – CodeProject
Custom HTML Helper in ASP.NET MVC4 Application – CodeProject
Learn MVC (Model View Controller) step by step in 7 days – Day 1 – CodeProject
Redirect and POST in ASP.NET MVC – CodeProject
Overview of ASP.NET vNext – CodeProject
CRUD Operations Using the Generic Repository Pattern and Dependency Injection in MVC – CodeProject
Getting started with AngularJS and ASP.NET MVC – Part One – CodeProject
Getting started with AngularJS and ASP.NET MVC – Part Two – CodeProject
Getting started with AngularJS and ASP.NET MVC – The long awaited Part Three – CodeProject
Learn MVC 5 step by step in 7 days – Day 1 – CodeProject

ORMS (Entity Framework, NHibernate, etc)

Entity Framework Basics
Big n Bulky "How To" Document for ASP.NET MVC, Entity Framework, LINQ, HTML 5 and JQuery – CodeProject
CRUD Operations Using Entity Framework 5.0 Code First Approach in MVC – CodeProject
What’s new in Entity Framework from beginning to EF 6 – CodeProject
Best Practices for Object/Relational Mapping and Persistence APIs by Mario Van Damme – developer.*, Developer Dot Star
How to create a entity data model using database first approach. – CodeProject
An Introduction to Entity Framework – CodeProject
Choosing the Right Entity Framework Workflow – CodeProject
Implementing a WCF Service with Entity Framework – CodeProject

Patterns

Building an application using design patterns and principles in C#

Creational Patterns

Creational patterns are ones that create objects for you, rather than having you instantiate objects directly. They are design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation.

Examples include:

  • Factory Method
  • Abstract Factory
  • Builder
  • Prototype
  • Singleton

Factory Pattern with .NET Technology
Understanding Factory On elisp and programming in general: GoF Design patterns and JavaScript: The Builder pattern

Structural Patterns

These concern class and object composition – how classes and objects are composed to form larger structures. They use inheritance to compose interfaces and define ways to compose objects to obtain new functionality.

Examples include:

  • Adapter (aka Wrapper)
  • Bridge
  • Composite Pattern
  • Decorator Pattern
  • Facade Pattern
  • Flyweight Pattern
  • Proxy Pattern

Adapter Design Pattern (C#)
Flyweight Design Pattern- C#
Proxy Design Pattern – CodeProject
Façade Design Pattern – CodeProject

Behavioural Patterns

Most of these design patterns are specifically concerned with communication between objects.

Examples include:

  • Chain-of-Responsibility Pattern
  • Command Pattern
  • Interpreter Pattern
  • Iterator Pattern
  • Mediator Pattern
  • Memento Pattern
  • Observer Pattern
  • State Pattern
  • Strategy Pattern
  • Template Method Pattern
  • Visitor Pattern
  • Unit of Work

Association, Aggregation, Composition, Dependency and IOC for Beginners
Strategy Pattern-C#
Observer Pattern (C#)
UNIT of Work Design Pattern
The Observer Pattern – CodeProject
Simple Unit of Work Design Pattern – CodeProject

Other Patterns

Examples:

  • Repository
  • Dependency Injection
  • IOC

Understanding Repository and Unit of Work Pattern and Implementing Generic Repository in ASP.NET MVC using Entity Framework
Learning MVC – Part 5 Repository Pattern in MVC3 Application with Entity Framework
CRUD Operations Using the Repository Pattern in MVC
CRUD Operations Using the Generic Repository Pattern and Unit of Work in MVC – CodeProject
Constructor Dependency Injection Pattern Implementation in C#
Dependency Injection (DI) vs. Inversion of Control (IOC) – CodeProject
Pocket : Using unity for IoC and DI – Part 2 (further decoupling)
Why the Repository Pattern – CodeProject
An Absolute Beginner’s Tutorial on Dependency Inversion Principle, Inversion of Control and Dependency Injection – CodeProject
Repository pattern, done right – CodeProject
Why the Repository Pattern
Dependency Injection (DI) vs. Inversion of Control (IOC)
CRUD Operations Using the Generic Repository Pattern and Unit of Work in MVC – CodeProject
Implementing repository Pattern With EF4 POCO support – CodeProject
Dependency Injection or Inversion? | DaedTech
Generic Repository and UnitofWork patterns in MVC – CodeProject
CRUD Operations Using the Generic Repository Pattern and Unit of Work in MVC – CodeProject
Unit of work Design pattern with Repository and Session – CodeProject
Apprenticeship Patterns
Game Programming Patterns
CRUD Operations Using the Generic Repository Pattern and Unit of Work in MVC – CodeProject

Agile

Agile Decompiled : Test Driven Development
Agile Estimation in Practice | Agile Zone
Building Real Software: 7 Agile Best Practices that You Don’t Need to Follow
Agile software development methodologies and how to apply them
An introduction to Agile Methodology
The Agile Response to a P1 Incident | Agile Zone
Choosing Columns for Agile Team Boards
How Agile Changed the Software Development Workplace – CodeProject
The Single Most Important Thing in Agile | DZone
Agile: False Hope and Real Promise | DaedTech
CRUD Operations Using the Generic Repository Pattern and Unit of Work in MVC – CodeProject
~ Geek Out of Water – Gil Zilberfeld's Ramblings

Scrum

Scrum explained
The Curious Case of Scrum Master’s Role
Underlying Mechanisms of Team Based Scrum
allan's blog – Agile, Lean, Patterns: The state of Scrum Mastering

SOLID

SOLID Principles: Single Responsibility Principle -> What, Why and How. – CodeProject
Understand Open Closed Principle and Dependecy Inversion – CodeProject
SOLID Principles, in Layman's Terms: Interface Segregation
SOLID principles, in layman's terms: Liskov Substitution
SOLID Principles, in Layman's Terms: Dependency Inversion
Notes from a TechEd talk on SOLID principles
Developing MVC applications using SOLID principles – CodeProject
Learning The S.O.L.I.D Programming Principles: Overview [Part – I] – CodeProject
Developing MVC applications using SOLID principles – CodeProject
Learning The S.O.L.I.D Programming Principles: Open Closed Principle [Part – III] – CodeProject
Learning The S.O.L.I.D Programming Principles: Liskov substitution principle [Part – IV] – CodeProject
Learning The S.O.L.I.D Programming Principles: Interface segregation principle [Part – V] – CodeProject
Learning The S.O.L.I.D Programming Principles: Dependency inversion principle [Part – VI] – CodeProject

Lean

Lean software development – Wikipedia, the free encyclopedia

Test Driven Development (TDD) and Behaviour Driven Development (BDD

Myths about TDD
Get Started on Test-Driven Development!
Not Using Test-First? You're Doing it Wrong. | Agile Zone
allan’s blog – Agile, Lean, Patterns: Programmers without TDD will be unemployable by 2022 (a prediction)
Test Driven Development – CodeProject
Test Double | Our Thinking | The Failures of ‘Intro to TDD’
TDD, where did ‘I’ go wrong | Frank Code
A TDD Journey: 1-Trials and Tribulations
A TDD Journey: 2- Naming Tests; Mocking Frameworks; Dependency Injection
A TDD Journey: 3- Mocks vs. Stubs; Test Frameworks; Assertions; ReSharper Accelerators
A TDD Journey: 4-Tests as Documentation; False Positive Results; Component Isolation
A TDD Journey: 5- Tests vs. Code; Refactor Friendliness; Test Parameterization
A TDD Journey: 6- Mini-Factory Pattern; Don’t Care Terms
Agile Decompiled : Test Driven Development
Behaviour Driven Development with Javascript
CRUD Operations Using the Generic Repository Pattern and Unit of Work in MVC – CodeProject

Leave a Reply