Microsoft Advertising 16:9 Template Light Use the slides below to start the design of your presentation. Additional slides layouts (title slides, tile.

Slides:



Advertisements
Similar presentations
Design Principles & Patterns
Advertisements

Since 1995, we’ve been building innovative custom solutions specifically designed to meet the unique needs of America’s most recognized companies. If you.
St Louis Day of.NET 2011 Refactoring to a SOLID Foundation Steve Bohlen Senior Software Engineer SpringSource/VMware Blog:
General OO Concepts and Principles CSE301 University of Sunderland Harry R. Erwin, PhD.
Lecture 9 Improving Software Design CSC301-Winter 2011 – University of Toronto – Department of Computer Science Hesam C. Esfahani
SOLID Object Oriented Design Craig Berntson
1 Software Maintenance and Evolution CSSE 575: Session 6, Part 1 The “SEAM” Model Steve Chenoweth Office Phone: (812) Cell: (937)
CZ Biz. Auto. System & Test-Driven Development Teoman Soygul (Sept 24, 2012).
13 Jul 2006CSE403, Summer'06, Lecture10 Lifecycle Architecture Review: Preliminary Feedback Valentin Razmov.
Object-oriented metrics Design decisions: Class Cohesion Open-Closed Single Responsibility Interface Segregation Dependency Inversion Liskov Substitution.
Presenter - Donn Felker.  Senior Consultant for Microsoft Gold Certified Partner- Statêra.  8 years of experience in developing and architecting enterprise.
Building SOLID Software with Dependency Injection Jeremy Rosenberg.
CLASS DESIGN PRINCIPLES Lecture 2. The quality of the architecture What is a good design? It is the design that at least does not have signs of “bad”.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Todd Snyder Development Team Lead Infragistics Experience Design Group.
Company Confidential – Do Not Duplicate 2 Copyright 2008 McLane Advanced Technologies, LLC S.O.L.I.D. Software Development Achieving Object Oriented Principles,
© 2004 Capgemini - All rights reserved SOLID - OO DESIGN PRINCIPLES Andreas Enbohm, Capgemini.
Introduction to SOLID Principles. Background Dependency Inversion Principle Single Responsibility Principle Open/Closed Principle Liskov Substitution.
S.O.L.I.D. Software Development 12 January 2010 (Martin Verboon, Patrick Kalkman, Stan Verdiesen)
SOLID Principles in Software Design
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 12-5 Software Engineering Design Goals.
Design Principles iwongu at gmail dot com.
The benefits of SOLID in software development Ruben Agudo Santos (GS-AIS-HR)
Refactoring for Testability (or how I learned to stop worrying and love failing tests) Presented by Aaron Evans.
Using Mock Objects with Test Driven Development Justin Kohlhepp
 What is SOLID  The S in SOLID  The O in SOLID  The L in SOLID  The I in SOLID  The D in SOLID  Questions.
Software Design Principles
Incremental Design Why incremental design? Goal of incremental design Tools for incremental design  UML diagrams  Design principles  Design patterns.
Elements of OO Abstraction Encapsulation Modularity Hierarchy: Inheritance & Aggregation 4 major/essential elements3 minor/helpful elements Typing Concurrency.
Software Design Patterns Curtsy: Fahad Hassan (TxLabs)
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 11a: Component-Level Design Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Design for testability as a way to good coding Simone Chiaretta Architect, Council of the EU December 9 th,
High Cohesion Low Coupling Old Standards for Object Oriented Programming.
Five design principles
Principles of Object Oriented Design
PRINCIPLES OF OBJECT ORIENTED DESIGN S.O.L.I.D. S.O.L.I.D Principles What is SOLID?  Acrostic of 5 Principles:  The Single Responsibility Principle.
Component Design Elaborating the Design Model. Component Design Translation of the architectural design into a detailed (class-based or module- based)
SOLID Design Principles
SOLID Principles in Software Design
Dependency Inversion Principle Jon McBee Principal Software Engineer Ultratech CNT.
Session 33 More on SOLID Steve Chenoweth Office: Moench Room F220 Phone: (812) Chandan Rupakheti Office: Moench.
Dependency Inversion By Steve Faurie. Dependency Inversion Described in Agile Principles, Patterns and Practices in C# by Robert C. Martin.
SOLID PHP & Code Smell Wrap-Up
Liskov Substitution Principle Jon McBee CLA, CLED, CTD, CPI, LabVIEW Champion.
Microsoft Advertising 16:9 Template Light Use the slides below to start the design of your presentation. Additional slides layouts (title slides, tile.
Microsoft Advertising 16:9 Template Light Use the slides below to start the design of your presentation. Additional slides layouts (title slides, tile.
Beginning Software Craftsmanship Brendan Enrick Steve Smith
Domagoj Pavlešić Universal Apps - razvoj za sve oblike Windowsa.
14 Jul 2005CSE403, Summer'05, Lecture 09 Lecture 09: Fundamental Principles and Best Practices for Software Design Valentin Razmov.
Mantas Radzevičius ifm-2/2
Interface Segregation / Dependency Inversion
Course information Old exam Resit Report Result and walkthrough
Software Architecture & Difference from Design
Mark Seemann - Dependency Injection in .NET
CSE687 - Object Oriented Design class notes Survey of the C++ Programming Language Jim Fawcett Spring 2004.
Copyright © by Curt Hill
Dependency Injection Andres Käver, IT College 2016/2017 Spring.
object oriented Principles of software design
Software Re-engineering - Theoretical and Practical Approaches
Tech·Ed North America /18/ :26 AM
11/29/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Grid Modules Module Use the grid as a guide to ensure elements are aligned and.
Object Oriented Practices
Questions First On class? On project? On material we’ve discussed?
The SOLID Principles.
Designing for Volatility
A (partial) blueprint for dealing with change
Object Oriented Design & Analysis
Dependency Inversion principle
Some principles for object oriented design
Presentation transcript:

Microsoft Advertising 16:9 Template Light Use the slides below to start the design of your presentation. Additional slides layouts (title slides, tile slides, etc.) are available to you in the slide master.

Grid Use this grid to align your copy, imagery and charts/graphs.

Krešimir Meze Omega software ASP.NET MVC Dependency Injection with Unity Application Block

Doing It Yourself The Basics Agenda Injecting With Unity

Krešimir Meze Omega software LinkedIn: Blog: Twitter: GitHub: About me

Inspirirani ljudima. Ugasite mobitele. Hvala.

Inspirirani ljudima. The Basics

Loose Coupling Reducing the number of dependencies between the components that make up your system.

Dependency Injection A software design pattern that implements inversion of control and allows a program design to follow the dependency inversion principle. Martin Fowler

Dependency Inversion Principle High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should depend on abstractions. Robert C. Martin

Open/close principle Single responsibility principle SOLID principles of object-oriented programming First five principles Liskov substitution principle Interface segregation principle Dependency inversion principle

SOLID Single responsibility principle - states that a class should have one, and only one, reason to change. Open/close principle - software entities (classes, modules, functions, and so on) should be open for extension, but closed for modification. Liskov substitution principle - states that in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S without altering any of the desirable properties, such as correctness, of that program. Interface segregation principle - states that interfaces that are very large should be split into smaller and more specific ones so that client classes only need to know about the methods that they use: no client class should be forced to depend on methods it does not use. Dependency inversion principle - High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.

Inversion of Control (IoC) Hollywood principle: “Don't call us, we'll call you.“

Inspirirani ljudima. Doing It Yourself

Inspirirani ljudima. Injecting With Unity

Inspirirani ljudima. Recap

Doing It Yourself The Basics Recap Injecting With Unity

References Wikipedia Source Unity Developer's Guide Hands-On Labs Robert C. Martin: The Dependency Inversion Principle Martin Fowler: Inversion of Control Containers and the Dependency Injection pattern PluralSight - Practical IoC With ASP.NET MVC 4 PluralSight - Inversion of Control

Inspirirani ljudima. Pitanja i odgovori.

Krešimir Meze Omega software LinkedIn: Twitter: Blog: GitHub: Contact

Inspirirani ljudima. Section Divider

1-column slide header Main topic 1 Subtopic 1 Subtopic 2 Main topic 2 Subtopic 1 Subtopic 2 Main topic 3 Subtopic 1 Subtopic 2

2-column slide header Main topic 1 Subtopic 1 Subtopic 2 Main topic 2 Subtopic 1 Subtopic 2 Main topic 3 Subtopic 1 Subtopic 2 Main topic 1 Subtopic 1 Subtopic 2 Main topic 2 Subtopic 1 Subtopic 2 Main topic 3 Subtopic 1 Subtopic 2

Main topic 1 Subtopic 1 2-tile slide header

Main topic 1 Subtopic 1 3-tile slide header