Рубрики
3. Liskov Substitution Principle SOLID

Liskov Substitution Principle «Понятие»

3. Liskov Substitution Principle
Принцип подстановки Барбары Лисков

функции, сущности которые используют родительский тип
должны работать точно так же и с дочерними классами
наследуемый класс должен дополнять, а не замещать поведение базового класса

Рубрики
2. Open-closed principle SOLID

SOLID «EXAMPLE» класс оружие Weapon

2. Open-closed principle
Принцип открытости/закрытости

класс оружие Weapon
у него три поля type, damage, range (тип, урон, дистанция)

class Weapon {
 type: string;
 damage: number; // 0 - 100;
 range: number; // 0 - 100;

 contructor(type: string, damage: number, range: number) {
  this.type = type;
  this.damage  = damage;
  this.range = range;
 }
}

класс персонаж Character
который может это оружие Weapon принимать через метод

class Character {
 name: string;
 weapon: Weapon;

 contructor(name: string, weapon: Weapon) {
  this.name = name;
  this.weapon= weapon;
 }
 принимает оружие
 changeWeapon(newWeapon:Weapon) {
  this.weapon = newWeapon;
 }
}
Рубрики
2. Open-closed principle SOLID

Open-closed principle «Понятие»

2. Open-closed principle
Принцип открытости/закрытости

классы, компоненты, модули, функции

  • должны быть открыты для расширения
    композиция, наследование
  • должны быть закрыты для изменения
    код уже протестирован и работает и у нас с ним проблем нет
    при изменении кода необходимо делать прегриссионное тестирование
Рубрики
1. Single responsibility principle SOLID

SOLID «EXAMPLE» класс выполняет http

1. Single responsibility principle
Принцип единой ответственности
один класс должен решать одну задачу
ПРИМЕР класс выполняет http

Рубрики
1. Single responsibility principle SOLID

SOLID «EXAMPLE» класс Пользователь

1. Single responsibility principle
Принцип единой ответственности
один класс должен решать одну задачу
ПРИМЕР класс Пользователь