CSHARPPROGLIB Telegram 6267
💎 Вспоминаем SOLID

SOLID — это 5 принципов объектно-ориентированного проектирования. Давайте повторим эту базу.

Single Responsibility Principle (Принцип единственной ответственности)

Каждый класс должен иметь только одну причину для изменения.

Плохо: класс UserManager и сохраняет пользователя в БД, и отправляет email.
Хорошо: UserRepository хранит, EmailService отправляет письма.

Open/Closed Principle (Принцип открытости/закрытости)

Классы должны быть открыты для расширения, но закрыты для изменения.

Новый функционал добавляем через расширение, а не переписывание старого кода.

Пример: вместо переписывания метода — создаём новый подкласс или внедряем стратегию.

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

Объекты подклассов должны работать так же, как объекты родителя.

Если Square наследуется от Rectangle, он должен вести себя как прямоугольник, а не ломать ожидания.

Суть: наследование не должно рушить логику программы.

— Interface Segregation Principle (Принцип разделения интерфейсов)

Лучше много маленьких интерфейсов, чем один огромный.

Плохо: интерфейс IMachine с методами print(), scan(), fax().
Хорошо: IPrinter, IScanner, IFax. Каждый класс реализует только нужное.

— Dependency Inversion Principle (Принцип инверсии зависимостей)

Зависимости должны быть от абстракций, а не от конкретных классов.

Плохо: класс ReportGenerator напрямую вызывает MySQLDatabase.
Хорошо: ReportGenerator работает с интерфейсом Database, а уже конкретная БД подставляется снаружи.

Без SOLID код быстро превращается в спагетти, где одно изменение ломает всё.

💬 Пишите в комменты как вы объясняете, что такое SOLID

🐸Библиотека шарписта

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥4🥱31😁1



tgoop.com/csharpproglib/6267
Create:
Last Update:

💎 Вспоминаем SOLID

SOLID — это 5 принципов объектно-ориентированного проектирования. Давайте повторим эту базу.

Single Responsibility Principle (Принцип единственной ответственности)

Каждый класс должен иметь только одну причину для изменения.

Плохо: класс UserManager и сохраняет пользователя в БД, и отправляет email.
Хорошо: UserRepository хранит, EmailService отправляет письма.

Open/Closed Principle (Принцип открытости/закрытости)

Классы должны быть открыты для расширения, но закрыты для изменения.

Новый функционал добавляем через расширение, а не переписывание старого кода.

Пример: вместо переписывания метода — создаём новый подкласс или внедряем стратегию.

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

Объекты подклассов должны работать так же, как объекты родителя.

Если Square наследуется от Rectangle, он должен вести себя как прямоугольник, а не ломать ожидания.

Суть: наследование не должно рушить логику программы.

— Interface Segregation Principle (Принцип разделения интерфейсов)

Лучше много маленьких интерфейсов, чем один огромный.

Плохо: интерфейс IMachine с методами print(), scan(), fax().
Хорошо: IPrinter, IScanner, IFax. Каждый класс реализует только нужное.

— Dependency Inversion Principle (Принцип инверсии зависимостей)

Зависимости должны быть от абстракций, а не от конкретных классов.

Плохо: класс ReportGenerator напрямую вызывает MySQLDatabase.
Хорошо: ReportGenerator работает с интерфейсом Database, а уже конкретная БД подставляется снаружи.

Без SOLID код быстро превращается в спагетти, где одно изменение ломает всё.

💬 Пишите в комменты как вы объясняете, что такое SOLID

🐸Библиотека шарписта

#буст

BY Библиотека шарписта | C#, F#, .NET, ASP.NET




Share with your friend now:
tgoop.com/csharpproglib/6267

View MORE
Open in Telegram


Telegram News

Date: |

bank east asia october 20 kowloon Choose quality over quantity. Remember that one high-quality post is better than five short publications of questionable value. Just at this time, Bitcoin and the broader crypto market have dropped to new 2022 lows. The Bitcoin price has tanked 10 percent dropping to $20,000. On the other hand, the altcoin space is witnessing even more brutal correction. Bitcoin has dropped nearly 60 percent year-to-date and more than 70 percent since its all-time high in November 2021. During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. Activate up to 20 bots
from us


Telegram Библиотека шарписта | C#, F#, .NET, ASP.NET
FROM American