Architecture and Design Patterns

2019-08-20

#### Dependencies

Dependencies

Design Patterns iOS Development iOS Skill Tree

Index

  1. The six principles of design
  2. The purpose and goals of architecture

The Seven Principles of Design

S | Single Responsibility Principle | Single Responsibility Principle O | Open Close Principle | Open Close Principle L | Liskov Substitution Principle | Liskov Substitution Principle I | Interface Segregation Principle | Interface Segregation Principle D | Dependence Inversion Principle | Dependence Inversion Principle L | Law Of Demeter | Law of Demeter C | Composite/Aggregate Reuse Principle | CARP Composite/Aggregate Reuse Principle

⚠️ Object-oriented SOLID principles

Single Responsibility Principle

  • A class should have only one responsibility.

Open Close Principle

  • Changes to software entities are best made by extension rather than modification.

Liskov Substitution Principle

  • Subclasses may extend a parent class's methods, but should not override them.

Interface Segregation Principle

  • An object should not be forced to depend on methods it does not use.

Dependence Inversion Principle

  • Program to interfaces; extract the essence and commonality of things.

Law of Demeter

  • An object should keep its knowledge of other objects to a minimum, achieving low coupling and high cohesion.

Composite/Aggregate Reuse Principle

  • In other words: use inheritance sparingly and favor composition instead.

The Purpose and Goals of Architecture


Architecture Design Methods and Steps


Common Architectures

MVC

MVVM

VIPER

MVP