【发布时间】:2009-02-18 03:59:30
【问题描述】:
我最近阅读了一篇关于 OOP 相关 question 的有趣评论,其中一位用户反对创建“Manager”类:
请去掉管理器这个词 说话时的词汇量 关于类名。的名称 类应该描述它的' 目的。经理只是另一个词 垃圾场。任何 功能将适合那里。这个单词 已成为许多极 糟糕的设计
此评论体现了我成为一名优秀的面向对象开发人员的努力。我在一个只有程序编码员的组织里做程序代码已经很长时间了。似乎我们生成的相对较少的 OO 代码背后的主要策略是将问题分解为可容易识别为离散单元的类,然后将剩余/通用位放入“管理器”中类。
我怎样才能打破我的程序习惯(例如 Manager 类)?大多数 OO 文章/书籍等使用的问题示例本质上很容易转换为对象组(例如,Vehicle -> Car),因此无法为分解更复杂的系统提供太多指导。
【问题讨论】:
-
这对我来说有点主观。我在围栏上。
-
我要问这个问题,在 Vehicle->Car 示例中,您是否不想要一个 GravityManager 可以一次将重力应用到 Vehicle 上的所有对象而不是单独的每个对象?或者 CollisionManager 做同样的事情?
-
是的,我不明白一个词是如何导致编写错误的代码的。我的第一语言是 OO,我在当前项目中有一个以经理结尾的课程。这样做是因为,嗯,它是一个“管理”相关子控件的用户控件。
-
@Suroot 这个类可以简单地称为 Gravity。
标签: oop class-design