gpt4 book ai didi

wpf - 如何从糟糕的 OOP 设计转变为优秀的 OOP 设计?

转载 作者:行者123 更新时间:2023-12-04 16:17:51 25 4
gpt4 key购买 nike

我正在阅读很多关于 OOP 设计中好的和坏的做法。很高兴知道您的设计是坏的还是好的。但是你如何从糟糕的设计变成优秀的设计呢?
我已将接口(interface) (xaml) 和代码隐藏从主要的业务逻辑类中分离出来。最后一个类越来越大了。我试过把它分成更小的类(class),但我现在卡住了。关于如何拆分大类的任何想法?主类有 1 个不同类型的数据列表。我正在对总数进行计算,但也在对个别类型进行计算。我有方法来执行这些计算,这些计算是从代码隐藏中处理的事件中调用的。有什么想法可以从这里开始吗?

附加信息:

我们已经进入这个项目大约 6 个月了。我多年来一直使用面向对象的语言(首先是 c++、java,现在是 c#),但从未参与过像这样的大型项目。我相信我们一开始就犯了一些错误,我认为我们需要纠正这些。目前我无法具体说明这个项目的任何细节。我要订一两本关于设计的书。如果我将所有类(class)分开,我如何将它们重新组合在一起?也许以这种方式继续到第一个版本并在此之后重建部分以进行第二个版本会更好?

最佳答案

The main class has 1 list of data of different types. I'm doing calculations on the total, but also on the individual types. I've got methods to perform these calculations which are called from events handled in the codebehind. Any ideas where to go from here?



如果有很多基于列表内容的计算,您是否考虑过将操作移动到自定义列表类中?对特定类型的操作也是如此,也许它们可以存在于类型中?

在对不同类型执行相似但不同的操作方面,请考虑使用 state pattern (将此视为 switch 语句的替代),它使您能够以统一的方式处理实体。

许多 OOP 是关于抛弃“自上而下”/微观管理方法并考虑“自下而上”/自给自足的方法。值得记住的是,这两种方法都不是孤立的“正确”。创建可维护的代码是为了找到一个合理的平衡点,这需要大量的思考并且通常通过经验来发展。

关于wpf - 如何从糟糕的 OOP 设计转变为优秀的 OOP 设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/440554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com