Программирование
Перейти к навигации
Перейти к поиску
Программирование в общем смысле подразумевает, что вы можете заставить бесполезный ящик(системный блок) делать то, что вам нужно.
Для этого необходимо:
- Знать принципы работы операционной системы(ОС - это прослойка между вашим софтом и железом и, чтобы эффективно использовать железо, нужно подружиться с ОС)
- Знать алгоритмы и структуры данных
- Знать язык программирования и IDE
ООП
- Инкапсуляция (разделение доступа)
- Наследование
- Полиморфизм (полиморфные методы для каждого типа свой метод)
SOLID
- S - Принцип единственной ответственности (The Single Responsibility Principle)
- O - Принцип открытости/закрытости (The Open Closed Principle)
- L - Принцип подстановки Барбары Лисков (The Liskov Substitution Principle)
- I - Принцип разделения интерфейса (The Interface Segregation Principle)
- D - Принцип инверсии зависимостей (The Dependency Inversion Principle)
Паттерны проектирования
- https://designpatternsphp.readthedocs.io/ru/latest/README.html
- https://www.kobzarev.com/wp-content/uploads/books/php/PHPbook.pdf
- https://refactoring.guru/ru/design-patterns
- Порождающие паттерны
- Абстрактная фабрика
- Одиночка
- Прототип
- Строитель
- Фабричный метод
- Структурные паттерны
- Адаптер
- Декоратор
- Заместитель
- Компоновщик
- Мост
- Приспособленец
- Фасад
- Паттерны поведения
- Интерпретатор
- Итератор
- Команда
- Наблюдатель
- Посетитель
- Посредник
- Состояние
- Стратегия
- Хранитель
- Цепочка обязанностей
- Шаблонный метод
GRASP
- Информационный эксперт (Information Expert)
- Создатель (Creator)
- Контроллер (Controller)
- Слабое зацепление (Low Coupling)
- Высокая связность (High Cohesion)
- Полиморфизм (Polymorphism)
- Чистая выдумка (Pure Fabrication)
- Посредник (Indirection)
- Устойчивость к изменениям (Protected Variations)