PatternsCSharpProgramming/Patterns/4_Принцип разделения интерфейсов/Program.cs

48 lines
2.2 KiB
C#
Raw Normal View History

2024-10-05 09:15:54 +03:00
/*
* Глава 20: Принцип разделения интерфейсов (SOLID SRP)
*
* Автор: Роберт Мартин (Дядя Боб)
*
* Сам принцип:
* - клиенты не должны зависеть от методов которые они не используют
*
* или
*
* - если какая-то сущность заявляет о своем функционале, то он должен работать
*
* или
*
* - от реализации исбыточных интерфейсов следует отказаться в пользу специфичных
*
* Принципы:
* 1. Single responsibility - принцип единственной ответственности
* 2. Open-closed - принцип открытости/закрытости
* 3. Liskov substitution - принцип подстановки Барбары Лисков (самый сложный)
* 4. Interface Segregation - принцип разделения интерфейса
* 5. Dependency inversion - принцип инверсии зависисмостей
*/
public abstract class Car
{
public string Model { get; set; }
public string Brand { get; set; }
public Car(string model, string name)
{
Model = model;
Brand = name;
}
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//!!! вместо огромного набора функций в одном интерфейсе !!!
//!!! в случае если при наследовании от него множество функций не реализуется !!!
//!!! нужно перейти в сторону множественного наследования интерфейсов под каждую из функций !!!
//!!! или под каждый набор функций !!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
public class Program
{
public static void Main(string[] argv)
{
}
}