python - 方法放在哪里?类/模块职责
问题描述
我正在尝试确定哪些模块应该负责我的自定义输出方法。
我有以下设置:
|-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 将所有类型的数据源转换为标准汽车对象。但随后它将输出有关汽车的信息。每个子模块(Tires-Engine)都是 Car 类的一个类属性。
您认为最好将打印/输出职责放在哪里?他们是否坐在 main 中,因为它处理到不同地方的输出?它是否位于 Car 中,因为那是我的主要对象,还是我将 print() 方法放在每个子模块中,因为它们知道自己的属性?(我倾向于什么)。现在子模块继承自 (object),而不是 Car,仅供参考。
我很欣赏这方面的建议。
解决方案
我建议在汽车中进行。
你的 car.py 是一种模型类,定义明确,你main.py
就像一个序列化器的网格,所以我想从Django
. 在 Django 中,建议覆盖__unicode__()
以提供模型的独立于序列化程序的标准输出表示。
推荐阅读
- python - Python Multiprocessing.dummy Sockets 下载图像
- javascript - 计算缺失坐标
- python - 使用占位符初始化 TensorFlow Estimator model_fn 中 RNN Cell 的初始状态
- mysql - phpmyadmin:无法使用非 root 用户登录(用户的访问被拒绝 + PHP 是在没有 openssl 扩展的情况下构建的,无法发送加密的密码)
- c++ - 我需要通过windows句柄(HWND)获取文件,我该怎么做?
- django - Caddy 服务器是否提供 Django 静态和媒体文件?
- php - 在 wordpress 中自动创建用户名的子域以及使用子域的 wordpress 多站点安装
- ios - 快速创建井字游戏网格?
- javascript - Facebook JS SDK getLoginStatus 行为不一致
- entity-framework - OData v4 结果后处理(适用于 v3,不适用于 v4)