oop - 尝试将方法放在正确的位置等时迷失在 OOP 困惑中

标签 oop

这并不是说我不了解 OOP 的概念,以及什么时候应该做什么,但有时我只是在精神上迷失了方向。

举个例子有什么更好的?所以我需要下载一个文件到一个临时路径,由于不相关的原因,我决定不通过 dot net 的正常方法获取临时路径。所以我为此写了自己的方法string GetTempFileSafe(string extension, out FileStream) ,不错,不是吗?但是,等等,这不是这个方法的正确位置......这个方法可能用于其他事情。它需要是某个地方的静态公共(public)方法。但是哪里?好吧,我想我需要为它打开一个新的静态类。希望有一天我会添加更多方法。

所以我定义了public static class FileStreamUtils \\one hell of a name huh? ,并添加了我的方法。但是等一下……这门课应该在哪里?基本上我可以在任何项目中使用......它与这个特定的项目无关。所以我打开了一个全新的图书馆,我称之为MyUtils。 .

我添加了我的静态类和我的一个静态方法,构建了库,添加了 dll 作为对我的原始项目的引用......然后它。 (注意方法比较难调试,因为我用的是dll而不是原代码)

现在不要误会我的意思。我真的很喜欢 OOP 的概念和整洁,但有时它只是让我精疲力尽……也许是因为我自己工作。

所以你怎么看?我是不是白哭了,开个实用程序库之类的事情,大都是一次搞定,只需要改变态度?还是您认为有时最好不要太拘泥于整洁(例如,在我的情况下,将方法放在那里,以防我再次需要它,将其移至公共(public)使用)?

非常感谢你。而且,如果你以某种方式成功地找到了投票给我的理由,没问题,但请发表评论,这样我就不会在这里重复我的错误。

最佳答案

我总是对罗伯特格拉斯的观点感到震惊'Rules of Three在这些情况下。在你的函数可能适合的三个地方之前,不要担心重用。我总是喜欢在第一次需要时编写函数。请注意,我第二次复制它。第三次做重用工作(将其重构为实用程序库)。

关于oop - 尝试将方法放在正确的位置等时迷失在 OOP 困惑中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1624647/

相关文章:

php - 有没有办法在 php 中定义全局或标准函数,可以从任何地方调用而不包含文件

javascript - 这是将属性分配给对象的有效方法吗?

javascript - 函数的所有实例是否可以访问同一个私有(private)变量?

java - 分离逻辑与多态性的冲突

java - 阻止用户调用父函数

python - 在子类python中调用基类方法

c# - 如何覆盖自定义库类中的方法

javascript - 有没有办法在javascript中代理(拦截)一个类的所有方法?

c++ - 我可以将operator ==虚拟化以实现平等吗?

c++ - 与C++中的Lua表操作最接近的是什么?