Вернуться к основам: Солидные принципы (5 серии деталей)
Solid является аббревиатурой для 5 принципов программирования, которые означает:
- S Принцип ответственности Ингл
- O Печка закрыто принцип
- L Принцип замены Искова
- I Принцип сегрегации интерфейса
- D Принцип инверсии Ependency
Почему вы должны заботиться об этих принципах?
Эти принципы помогают вам в изменении одной области программного обеспечения, не влияя на других. По сути, они предназначены для того, чтобы облегчить код для понимания, поддержания и расширения.
Этот пост является лишь частью 1 серии, возвращаясь к основам, каждый из которых охватывает один солидный принцип.
Принцип единственной ответственности
У класса должна быть одна и только одна причина для изменения, что означает, что он должен иметь только одну работу.
Если класс несет более одной ответственности, то изменение одной ответственности приводит к модификациям в других обязанностях.
Давайте приведем пример:
class Animal: def __init__(self, name): self.name = name def get_name(self): return self.name def save(self, animal): """Saves the animal details to DB""" pass
Теперь у класса животных есть две обязанности:
- Поддерживать свойства животного
- Сохраните детали животного в базе данных
Если приложение изменяется так, как оно влияет на функции управления базой данных, например: функция SAVE (), то классы, которые используют свойства класса животных, должны быть обновлены и перекомпилированы.
Решение?
Мы создаем еще один класс, который будет выполнять все обязанности по управлению базами данных.
class AnimalDB: def save(self, animal): """Saves the animal details to DB""" pass def get_animal(self, _id): """Gets the animal details by _id from the DB""" pass class Animal: def __init__(self, name): self.name = name self._db = AnimalDB() def get_name(self): """Get animal name""" return self.name def save(self): """Saves the animal to DB""" self._db.save(animal=self)
Во время разработки наших занятий мы всегда должны собирать связанные функции, поэтому, когда они склонны меняться, они меняются по одной и той же причине, и пытаться разделить функции, которые будут меняться по разным причинам.
Вернуться к основам: Солидные принципы (5 серии деталей)
Оригинал: “https://dev.to/khushboo/back-to-basics-solid-principles-part-1-4co2”