Рубрики
Без рубрики

Вернуться к основам: Твердые принципы (часть 1)

Solid является аббревиатурой для 5 принципов программирования, которые соответствуют: единственной ответственности … с меткой Python, начинающих.

Вернуться к основам: Солидные принципы (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

Теперь у класса животных есть две обязанности:

  1. Поддерживать свойства животного
  2. Сохраните детали животного в базе данных

Если приложение изменяется так, как оно влияет на функции управления базой данных, например: функция 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”