【问题标题】:what pattern/framework should i use for my program? [closed]我应该为我的程序使用什么模式/框架? [关闭]
【发布时间】:2013-01-02 08:39:45
【问题描述】:

我的程序应该像汽车模拟器一样运行。 我有很多汽车模型,每个汽车模型都有自己的一组属性。 这些汽车的属性可能相同,也可能不同。例如,一辆车可以有 3 个属性,而另一辆车可以有相同的 4 个属性,其中 3 个属性与第一辆车相同。而且,情况可能是两辆车可以具有相同的属性名称但具有不同的数据类型。 还有可能添加另一个模型和/或属性。 我应该为我的程序使用什么模式或框架。帮帮我吧!

【问题讨论】:

  • 你最好在programmers site问这个问题
  • 听起来您的问题是关于基本 OOP,而不是模式或框架。
  • @AleksandrDubinsky 你能帮我解答吗?

标签: .net design-patterns frameworks


【解决方案1】:

弄清楚汽车的基本属性是什么,并将它们放在抽象基类(或接口,但基类更合适)中。如果某些属性位于一类汽车上,而其他属性位于另一类汽车上,则可以建立更深层次的层次结构。 (明白了吗,类?)如果这些属性类重叠并且您需要多重继承,您可以使用接口。

您的某处房产有哪些不同的类型?如果这些是用户类型,请给它们一个公共基类。否则给属性不同的名称。无论如何,这听起来像是代码异味

并非每个属性都应该在基类中。仅在适当的情况下使用继承。但也要重新检查您认为需要哪些属性并将它们合理化。我敢肯定你在某个地方做出了错误的选择,但你没有给出你的属性的例子。

【讨论】:

    【解决方案2】:

    你可以使用工厂模式

    会有一个ICar界面。

    所有的汽车模型都是具体的类。在ICar接口中写所有的契约。

    在具体类中只实现必要的属性。

    【讨论】:

    • 如何改变属性上的数据类型?
    • 这不是工厂模式。这称为继承。
    猜你喜欢
    • 2012-04-16
    • 2010-11-27
    • 2023-03-19
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    相关资源
    最近更新 更多