OO或程序

时间:2009-07-18 15:50:31

标签: sql oop procedural

我有一个用于我的支票簿的Access数据库(后面有很多相当简单的VBA),我想把它重写为带有SQL后端的独立程序。我正在考虑使用C ++,Java或Python。

在我开始之前,我曾经假设我会把它写成OO,因为我认为我会以“OO术语”来思考(由于我采用了OO Logic类和C ++类),但我我发现我只能将其视为程序性的(但也许是因为我在思考数据库如何在Access中运行时精神错乱)。我该如何决定?我有意义还是看起来我不理解这些概念?

感谢您的帮助。

7 个答案:

答案 0 :(得分:5)

我建议使用OO - 它并不比程序编程更难,实际上使用正确的工具更容易维护。 Delphi将是我的选择 - 优秀的数据库编程支持,可视化设计,强类型,可用的大量组件。 There are many great applications that are written in Delphi。经常被低估,有很多原因,它有忠诚的追随者。

现在我会因为德尔福仇恨加载西红柿而躲开。

答案 1 :(得分:1)

嗯,OO可能有点矫枉过正,但这是一种很好的做法。任何代码猴都可以编写过程代码。它是在每种情况下阻力最小的路径,这就是为什么大多数人将它用于一个不做太多的应用程序。但是,如果您正在编写以获得使用OO的经验,那么最好以这种方式来考虑它。您可以从设计管理财务事务的对象开始,然后您还需要一种与数据库交互的方法。也许您可以编写一个数据库层,使用Entity框架从事务对象中抽象出数据库调用,您可以在其中学习LINQ(或者JAVA等价物)。这一切都假设你这样做是为了娱乐和练习。

答案 2 :(得分:0)

对于一个简单的支票簿应用来说,oo似乎有些过分。尝试更大规模的东西,比如管理所有财务帐户。这样设计一个帐户类是有意义的

答案 3 :(得分:0)

这取决于你的动机。如果您想尽快获得支票簿应用程序,只需简化程序代码即可。除了你之外没有人会知道其中的差别。如果你想使用这个应用程序来改善自己作为程序员。花点时间学习如何用OO写作。

答案 4 :(得分:0)

我会选择Python:不编译并使用动态类型(如果需要,也可以使用严格的键入)。此外,它在开源社区中拥有巨大的追随者,这意味着免费提供强大的支持,工具和文档。

至于OO与程序 - 你提到的所有这些语言都可以用程序风格编写 - 也就是说,一个大类/方法可以完成所有工作 - 但你很快就会发现你会我想遵循DRY原则(不要重复自己),并从一些私人方法开始,这些方法做得很好。从那时起,你会想要将类似的事物分组到不同的类中,然后从那里你要抽象出那些类...看看我要去哪里?

答案 5 :(得分:0)

在我看来,你应该更少关注OO与程序性事物。如果你有可能在一开始就采用程序,那就去程序化。这是让你开始的最简单的事情。另一方面,OO的东西可能与YAGNI(你不需要它)一样合格。

你应该做的是编写测试,单元测试然后进行集成测试。你应该努力先写测试。这样,即使您从程序性应用程序开始,您可能稍后将其重构为完整的OO应用程序。但是,只有你需要物品。在您的应用程序中移动代码时,这些测试将是您的安全网。

尝试从一开始就将应用程序视为对象可能会导致您陷入类层次结构和体系结构的困境。

我不是天才,所以我可能错了,但根据我的经验,从简单的功能开始然后考虑将它们分组到对象或模块比开始说:好,我将使用与此对象交互的对象,即实现模式X,这样我就可以将接口Y与实现Z分离。稍后,您可能会发现您的域模型很弱。采用渐进式设计路径,从小型构建块开始。

答案 6 :(得分:0)

如果您正在寻找可以扩展的快速应用,请查看Dynamic Data