0% found this document useful (0 votes)
110 views8 pages

3 IT 35 Design Principles and Design Patterns

The document discusses software design principles and patterns. It defines software design as the process of creating specifications for software artifacts to achieve goals using primitive components and constraints. There are three levels of design: interface, architectural, and detailed. Design principles provide high-level guidelines for better software applications and are not language-specific, while patterns provide low-level implementation solutions for common object-oriented problems. Popular principles include SOLID (single responsibility, open/closed, Liskov substitution, interface segregation, dependency inversion), and there are creational, structural, and behavioral design patterns.

Uploaded by

michael pascua
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
110 views8 pages

3 IT 35 Design Principles and Design Patterns

The document discusses software design principles and patterns. It defines software design as the process of creating specifications for software artifacts to achieve goals using primitive components and constraints. There are three levels of design: interface, architectural, and detailed. Design principles provide high-level guidelines for better software applications and are not language-specific, while patterns provide low-level implementation solutions for common object-oriented problems. Popular principles include SOLID (single responsibility, open/closed, Liskov substitution, interface segregation, dependency inversion), and there are creational, structural, and behavioral design patterns.

Uploaded by

michael pascua
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Design Principles

and Design
Patterns
Software Design
Software design is the process by which an agent creates a
specification of a software artifact intended to accomplish
goals, using a set of primitive components and subject to
constraints. (Wikipedia.com)

Levels:
• Interface Design
• Architectural Design
• Detailed Design

IT 35 - Applications Development and Emerging Technologies (Design Principles and Design Patterns)
Architectural Design
Architectural design is a process for identifying the sub-systems
making up a system and the framework for sub-system control and
communication.
Stage 1: Clean code. ...
Stage 2: Programming Paradigms. ...
Stage 3: Object-Oriented Programming. ...
Stage 4: Design Principles. ...
Stage 5: Design Patterns. ...
Stage 6: Architectural Principles.
IT 35 - Applications Development and Emerging Technologies (Design Principles and Design Patterns)
Design Principles
Design principles provide high level guidelines to design
better software applications. They do not provide
implementation guidelines and are not bound to any
programming language.
The SOLID (SRP, OCP, LSP, ISP, DIP) principles are one of
the most popular sets of design principles.

IT 35 - Applications Development and Emerging Technologies (Design Principles and Design Patterns)
Design Pattern
Design Pattern provides low-level solutions related to
implementation, of commonly occurring object-oriented
problems. In other words, design pattern suggests a specific
implementation for the specific object-oriented programming
problem.
For example, if you want to create a class that can only have
one object at a time, then you can use the Singleton design
pattern which suggests the best way to create a class that can
only have one object.

IT 35 - Applications Development and Emerging Technologies (Design Principles and Design Patterns)
Design Principles: SOLID
Single responsibility Principle

Open/closed Principle

Liskov Substitution Principle

Interface Segregation Principle

Dependency inversion principle

https://www.digitalocean.com/community/conceptual_articles/s-o-l-i-d-the-fir
st-five-principles-of-object-oriented-design

https://subscription.packtpub.com/book/application_development/9781786463593/1/ch01lvl1s
ec17/design-patterns-and-principles
IT 35 - Applications Development and Emerging Technologies (Design Principles and Design Patterns)
Types of Design Patterns
• 1. Creational: These patterns are designed for class instantiation. They
can be either class-creation patterns or object-creational patterns.
• 2. Structural: These patterns are designed with regard to a class's
structure and composition. The main goal of most of these patterns is to
increase the functionality of the class(es) involved, without changing
much of its composition.
• 3. Behavioral: These patterns are designed depending on how one class
communicates with others.
https://www.freecodecamp.org/news/the-basic-design-patterns-all-developers
-need-to-know/

IT 35 - Applications Development and Emerging Technologies (Design Principles and Design Patterns)
References
• https://www.tutorialsteacher.com/articles/difference-between
-design-principle-and-design-pattern

• https://stackify.com/solid-design-principles/
• https://hackernoon.com/10-oop-design-principles-every-progr
ammer-should-know-f187436caf65

• https://refactoring.guru/design-patterns
• https://www.educative.io/blog/object-oriented-programming
IT 35 - Applications Development and Emerging Technologies (Design Principles and Design Patterns)

You might also like