我不是一个经验丰富的程序员,所以请多多包涵。因此,我需要具体说明我的问题,即构建一个架构来表示电厂层次结构:
事实上,我正在尝试构建一个灵活的架构来代表多种类型的发电厂的合同和定价/分析。我正在阅读关于通用设计模式和策略类的 alexandrescu 书,因为在我看来,这似乎是处理我想做的事情的灵活性和可扩展性需求的好方法。让我们详细说明一下:
发电厂可以运行不同类型的可燃物(不同类型):煤或天然气或燃料。在每一种可燃物中,您可以选择不同的可燃物子类型(不同质量或财务指标的可燃物)。在这些子类型中,描述交付的合同公式可以是不同的类型(时间序列在一个部门内或通过一个部门平均等...)此外,您可以在欧洲并遵守减排计划并拥有提供二氧化碳信用(在您的保证金公式中输入),或不提供取决于监管问题。同样,您可以选择使用不同的方法等来评估这个发电厂……等等……
因此,我的观点是,您可以以非常不同的方式代表资产,这将取决于监管、您做出的选择、您与另一个交易对手达成的合同类型、您想要进行的估值,并且很明显,您不想写 100只需稍作改动,即可使用相同的代码。正如我在一开始所说的,我正在努力寻找最好的编程技术来以最好的方式处理我的程序。但正如我所说,我是构建软件架构的新手。在我看来,Policy 类可以很好地处理这样的架构,因为它们可以表达我们必须做出的选择。
然而,将其付诸实践让我很头疼。我想到了一个通用对象工厂,其中 Powerplant* 是我的抽象类型,其中诸如 void price() 或 riskanalysis() 之类的函数将是纯虚拟的。然后我需要在此基础上创建一个层次结构并派生元素