我试图让C#中的大型项目开启轮子。我以前的经验是在Delphi中,在默认情况下,每个表单都是在应用程序启动时创建的,并在(gasp)全局变量中形成引用。所以我试图让我的思维适应一个100%面向对象的环境,而我的脑袋正在旋转一点点。需要关于OOP哲学的建议
我的应用程序将有一个大集合的类大多数这些类只会真的需要一个实例。所以我在想:静态类。我不是很确定为什么,但是我在这里读到的大部分内容都说如果我的类将持有一个状态,我认为这个状态意味着任何属性值,那么我应该使用单例结构。好的。但是有些人因为逃避我的原因认为单身人士也是邪恶的。
这些类别都没有在本程序中的任何地方使用的危险。所以他们当然可以像普通对象一样正常工作(vs单件或静态类)
然后存在对象之间交互的问题。我很想创建一个全局类,其中包含许多引用这些类的单个实例的公共静态属性。我也考虑过让他们的属性(静态或实例,不知道哪个)MainForm。然后,我会让每个类都知道MainForm作为所有者。然后各种对象可以互相引用为所有者。 对象1,所有者。 对象2等
我担心电子墨水用完了,或者至少会让任何人忍耐到足以让我忍受这么久的耐心。我希望我已经清楚地解释了我完全混淆的状态。我只是寻找一些关于我的情况的最佳实践的建议。所有的投入都欢迎和赞赏。
由于提前, 大卫·詹宁斯
您可以删除德尔福形式的全局变量和实例,并根据需要释放他们。 – TrueWill 2010-05-19 02:49:18
感谢所有花时间回复的人。你给了我很多想法。多么伟大的社区。当我说大部分课程只需要一个实例时,我必须承认我夸大了我。事实上,它是大约12中的3个。再次感谢我鼓励我退后一步,密切关注我的一些班级决策。这个网站将成为我最重要的C#智慧源之一,而我正在加快步伐。 – 2010-05-19 12:21:22