Где поставить метод? Класс / Модуль Ответственность - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь определить, какие модули должны отвечать за мои собственные методы вывода.

У меня есть следующие настройки:

|-main.py
|-libs
    |-Car (attr: Tires, Seats, Doors, Engine)
        |-Tires  (attr: size, age, brand)
        |-Seats (attr: number, material)
        |-Doors (attr: number)
        |-Engine (attr: size, make, model, torque)

теперь мой main.py конвертирует все типы источников данных в стандартные объекты Car. Но тогда он выведет кусочки информации об автомобилях. Каждый подмодуль (Tires-Engine) является атрибутом класса класса Car.

Где, по вашему мнению, лучше всего возложить ответственность за печать / вывод? Они сидят в основном, потому что он обрабатывает вывод в разные места? Он находится в машине, так как это мой основной объект, или я помещаю методы print () в каждый подмодуль, поскольку они знают о своих собственных атрибутах? (к чему я склоняюсь). Прямо сейчас подмодули наследуются от (объекта), а не от Car, только к вашему сведению.

Я ценю совет по этому вопросу.

1 Ответ

0 голосов
/ 06 ноября 2018

Я бы предложил сделать это в машине.

Ваш car.py является своего рода классом модели, он хорошо определен, а ваш main.py подобен сетке сериализаторов, поэтому я хочу черпать вдохновение из Django. В Django рекомендуется перезаписать __unicode__(), чтобы получить независимое от сериализатора представление модели stdout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...