相关疑难解决方法(0)

OOP有什么意义?

据我所知,尽管花费了数百万或数十亿美元用于OOP教育,语言和工具,但OOP并未提高开发人员的工作效率或软件可靠性,也没有降低开发成本.很少有人在任何严格的意义上使用OOP(很少有人坚持或理解LSP等原则); 人们对问题域建模所采用的方法几乎没有统一性或一致性.这个课程常常仅用于语法糖; 它将记录类型的函数放入它们自己的小命名空间中.

我为各种各样的应用程序编写了大量代码.虽然有些地方真正的可替代子类型在应用程序中发挥了重要作用,但这些都非常特殊.总的来说,虽然谈到"重复使用"的口号很多,但实际情况是,除非一段代码完全符合您的要求,否则几乎没有成本效益的"重复使用".设计类以正确的方式扩展是非常困难的,因此扩展的成本通常很高,以至于"重用"根本就不值得.

在许多方面,这并不让我感到惊讶.现实世界是不是"OO",这种想法在OO隐含的 - 我们可以用一些类分类模型的事情 - 在我看来非常根本性的缺陷(我可以坐在桌子上,一个树桩,一个车盖某人的膝盖 - 但不是其中一个 - 一把椅子).即使我们转向更抽象的领域,OO建模通常也很困难,违反直觉,最终无益(考虑圆/椭圆或正方形/矩形的经典例子).

那我在这里错过了什么?哪里是OOP的价值,为什么所有的时间和金钱,没有作出任何软件好?

language-agnostic oop

126
推荐指数
24
解决办法
3万
查看次数

C编程语言是面向对象的吗?

我正在与一位同事谈论C和C++,他声称C是面向对象的,但我声称它不是.我知道你可以在C中做类似面向对象的事情,但C++是一种真正的面向对象语言.

你的想法是什么?

此外,它引发了关于谁决定面向对象意味着什么的讨论,并且很难说出面向对象的真正意义.你对此有何看法?

c oop standards

42
推荐指数
5
解决办法
8万
查看次数

是否值得使用原型或我们应该使用OOP的JavaScript?

我现在是开发人员,过去几年我使用原型框架和OOP的实现,用于Javascript.我也使用过jquery和其他一些框架.

我一直在研究js如何工作以及与OOP有何不同,因为它是一种面向原型的语言.在我看来,实际上是一个伟大的概念,原型导向的语言.

给予正确的关注:
- 语言是如何使用的,因此更快,更高效,理论上更简单,更顺畅.
- 每个浏览器都有自己的javascript应该如何工作的实现,有时不可能在所有浏览器中使用简洁的代码,或者至少是大多数浏览器.
- 通常那些OOP框架(dojo.declare(),Js.Class,MooTools等)不仅适合做出好的工作,而且它们是跨浏览器.

我不禁想知道,是否值得开始使用面向javascript原型的RIA?或者我应该去Dojo.declare(),js.class或类似的?

javascript oop prototype-oriented

5
推荐指数
1
解决办法
1038
查看次数

接口静态方法的替代方法

我知道静态方法对于接口来说是不正确的(请参阅:为什么 C# 不允许静态方法实现接口?)但遇到了这样的情况:我有一个对象实现了接口的所有方法,其中所有方法都可以静态的,所以我想我的设计一定是错误的。

问题是,我看不到任何替代方案

我的接口IDataSerializer是由几个类实现的。一种对 XML 进行反序列化,一种对 JSON 进行序列化,等等。所有这些类都实现相同的功能,并且没有任何类具有任何“状态数据”(成员等),但最终都会输出相同类型的对象。

例如,XML 类:

public class MyXmlSerializer : IDataSerializer
{
    public string SerializeFoo(object foo)
    { 
        // uses .Net XML serialzer to serialize foo
    }

    public object DeserializeFoo(string foo)
    { 
        // uses .NET XML serializer to deserialize foo
    }

    // Object type returned by above methods is only ever 
    // used by following method which returns a type available 
    // to all IDataSerializer implementations as this is 
    // the data …
Run Code Online (Sandbox Code Playgroud)

c# serialization interface deserialization

5
推荐指数
1
解决办法
7762
查看次数