是否有可能成功地设计和构建一个基于过程(命令)的应用程序



您能否提供目前程序化并保持高完整性和效率的应用程序示例?是否有任何书籍、教程或链接提供了如何成功构建和维护命令式系统的示例?如果你要在这方面提供指导,你会就如何构建它给出什么建议?我之所以这么问,是因为OOP通常被认为是过程编程的一种自然发展,但我很难相信总是这样。

成功的过程应用程序示例??

你是说Linux内核?BSD内核?Apache web服务器?Unix userland实用程序的大部分?像这样的应用程序?

当然,OOP技术在软件的组织、可维护性和抽象方面都有价值,但即使在今天,OOP也可能是当今编写的所有代码和应用程序的少数子集。

考虑一下所有的Java、C#或VB代码,当它们用支持OOP的编程语言编写时,它们使用大量OOP技术的唯一原因是与外部库或系统交互。同时,应用程序本身,在利用OOP框架的同时,在设计和实现中可能是相当程序化的。

OOP是一个很好的范例,但事实上,对于许多系统中的大部分逻辑来说,它并不是真正必要的。

虽然我不能直接指向任何现有的系统,但有大量的遗留企业系统是在OO COBOL之前编写的。许多经典的4GL程序都是程序性的,旨在实现高完整性的系统工程。有些写得很好,有些写得不太好。

书籍包括"COBOL从微型到大型机","企业COBOL编程指南"

关于好的命令式代码的结构提示类似于OO技术:正确命名事物,分离你的关注点,不要重复你自己,单一责任原则,不要让破碎的窗口无人管理。

事实上,我只是建议阅读《实用程序员》,在任何范式中都能给大多数人带来正确的想法。

至于为面向业务的应用程序转向OO的一个令人信服的理由;过程语言允许对域逻辑使用事务脚本方法,而OO语言允许使用域模型方法。

当然,对于简单的练习来说,并没有真正需要使用OO语言,但一旦复杂性上升,OO语言的可维护性就会战胜低开销的过程语言。

相关内容

最新更新