
### Architecture Pattern

* [UI Pattern Folder](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.2%20ArchitecturePattern/2.4.1.2.2%20UIPattern/)
    * [MVC](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.2%20ArchitecturePattern/2.4.1.2.2%20UIPattern/MVC.md)
    * [MVVM](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.2%20ArchitecturePattern/2.4.1.2.2%20UIPattern/MVVM.md)
    * [VIP](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.2%20ArchitecturePattern/2.4.1.2.2%20UIPattern/VIP.md)
    * [VIPER](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.2%20ArchitecturePattern/2.4.1.2.2%20UIPattern/VIPER.md)
* [Clean Architecure](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.2%20ArchitecturePattern/2.4.1.2.1%20CleanArchitecture.md)

### Design Pattern

1. [!!!Design Pattern](https://daddycoding.com/design-pattern/)

* [Behaviorail](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.3%20DesignPattern/2.4.1.3.2%20Behavioral/)
* [Creational](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.3%20DesignPattern/2.4.1.3.3%20Creational/)
* [Structural](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.3%20DesignPattern/2.4.1.3.4%20Structural/)

### Design Principle

1. [Principle of Software Development Principles](https://medium.com/@bartoszkrajka/principle-of-software-development-principles-f0143d6f405)

* [DI](./2.4.1.4%20DesignPrinciple/DI.md) - Dependency injection and Dependency inversion? = Dependency Injection — внедрение зависимостей. Cоблюдение принципа инверсии зависимостей (D из [SOLID](./2.4.1.4%20DesignPrinciple/SOLID.md)).

* [YAGNI](./2.4.1.4%20DesignPrinciple/YAGNI.md) - You aren't gonna need it

* [KISS](./2.4.1.4%20DesignPrinciple/KISS.md) - Keep it simple, stupid или Keep it stupid simple

* [DRY](./2.4.1.4%20DesignPrinciple/DRY.md) - Don`t repeat yourself

* [SOLID](./2.4.1.4%20DesignPrinciple/SOLID.md) - (Single Responsibility Principle).(Open-Closed Principle).(Liskov Substitution Principle).(Interface Segregation Principle).(Dependency Inversion Principle)


Идея пирамиды (как у [Маслоу](https://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs)) заключается в том, что вы не должны подрывать нижние слои за счет более высоких:

![Design Principles Pyramide](/pictures/ComputerScience/DesignPrinciplesPyramide.png?raw=true)

### Programming Paradigm

Declarative:

* [Functional Programming (FP)](/2%20ComputerScience/2.2%20Languages/2.2.2%20Paradigm/2.2.2.1%20Declarative/2.2.2.1.1%20FunctionalProgramming(FP).md)

* [Reactive Programming](/2%20ComputerScience/2.2%20Languages/2.2.2%20Paradigm/2.2.2.1%20Declarative/2.2.2.1.2%20ReactiveProgramming.md)

[Imperative](/2%20ComputerScience/2.2%20Languages/2.2.2%20Paradigm/2.2.2.2%20Imperative/2.2.2.2.1%20AboutImperative.md):

* [OOP](/2%20ComputerScience/2.2%20Languages/2.2.2%20Paradigm/2.2.2.2%20Imperative/2.2.2.2.2%20OOP.md)

* [POP](/2%20ComputerScience/2.2%20Languages/2.2.2%20Paradigm/2.2.2.2%20Imperative/2.2.2.2.3%20POP.md)


### Tests

* [About Tests](/2%20ComputerScience/2.4%20Architecture/2.4.4%20Tests/2.4.4.1%20AboutTests.md)

* [DrivenDevelopment](/2%20ComputerScience/2.4%20Architecture/2.4.4%20Tests/2.4.4.2%20DrivenDevelopment.md)

* [iOS Tests](/2%20ComputerScience/2.4%20Architecture/2.4.4%20Tests/2.4.4.3%20iOSTests.md)

---

[2.4.1 Architecture Patterns And Principles Theme Folder](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple) | [Back To iTWiki Contents](https://github.com/eldaroid/iTWiki) | [2.4.1.2 Architecture Patterns Theme Folder](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.2%20ArchitecturePattern/)