您能否提供当今应用程序的示例,这些应用程序是程序化的,并且保持高度的完整性和效率?是否有任何书籍、教程或链接提供了如何成功构建和维护命令式系统的示例?如果你要在这个领域提供指导,你会在如何构建它方面给出什么建议?我之所以这样问,是因为OOP通常被认为是过程化编程的自然发展,但我很难相信情况总是如此。
发布于 2008-11-02 20:03:39
成功的程序性申请的例子??
你的意思是,比如说,Linux内核?BSD内核?Apache web服务器?Unix userland实用程序的大部分?像这样的应用程序?
当然,OOP技术在软件的组织、可维护性和抽象性方面具有价值,但即使在今天,OOP也可能只是当今编写的所有代码和应用程序的少数子集。
考虑到所有的Java或C#或VB代码,虽然它们是用具有OOP能力的编程语言编写的,但它们使用OOP技术的唯一原因是要与外部库或系统进行交互。同时,应用程序本身在利用OOP框架的同时,在设计和实现上可能是相当过程化的。
OOP是一个很好的范例,但事实上,对于许多系统中的大部分逻辑来说,它并不是真正必要的。
发布于 2008-11-02 19:47:10
虽然我不能直接指向任何现有的系统,但有大量的遗留企业系统是在OO COBOL之前编写的。许多经典的4GL程序都是过程性的,目标是高度完整的系统工程。有些写得很好,有些写得不好。
书籍包括"COBOL from Micro to Mainframe“、"Enterprise COBOL Programming Guide”。
好的命令式代码的结构技巧类似于OO技术:很好地命名事物,分离你的关注点,不要重复自己,单一责任原则,不要留下不好的窗口。
事实上,我只是简单地建议阅读“实用主义程序员”可以让大多数人在任何范例中都有正确的想法。
对于面向业务的应用程序,转向OO的一个令人信服的原因是:过程化语言允许对域逻辑采用transaction script方法,而OO语言允许使用domain model方法。
当然,对于简单的练习,并不需要使用OO语言,但是一旦复杂性增加,OO语言的可维护性就会胜过过程化语言的低开销。
https://stackoverflow.com/questions/257873
复制相似问题