Tag: oop

您是如何构建面向网络的应用程序的?

我正在开始设计一个主要面向网络的新应用程序,我正在寻找那些提出了良好的架构设计或OOP类模型的人的建议。 请描述基本架构和/或类结构。 你抽出了通信位吗? 你想出了哪些类实体? 该应用程序将同时具有监听器和客户端类。 它类似于feed聚合器,但使用持久连接而不是HTTP。 换句话说,我连接到套接字并具有持久连接,其中数据以双向方式流动。 然后我也有持久连接到我的客户端,我将一些(或全部)数据发送给他们。 此外,我不能使用WCF或.NET 3.0或3.5中的任何东西(虽然我可以使用C#3,因为我正在开发VS2008)。 我必须与Windows 2000兼容。

在不使用点运算符的情况下访问Class属性

使用Double类型调用时,我需要重载一些运算符。 为了实现这一点,我正在创建一个inheritance自Double的类MyDouble。 MyDouble看起来有点像这样 class MyDouble : Double { Double value; // operator overloads go here } 我想从用户中抽象出value属性,以便它可以像Double一样使用。 基本上我希望用户能够这样做: MyDouble a = 5; //a.value gets assigned 5 Console.WriteLine(a); //prints a.value 我不希望用户必须专门定位value属性。 这可能吗? 我该怎么办呢?

创建从IBlahblahinheritance的所有类的集合

使用reflection(我猜?),是否有可能创建一个方法来返回从名为IBlahblah的接口inheritance的所有对象的集合? public interface IBlahblah;

如何在类中实现接口的function?

面试官在采访中问我以下问题,但我不知道这个问题的答案是什么,请帮帮忙! 如果我不想在我的类中实现一个在我的类实现的接口中声明的函数,那么必须要做什么。 编辑:我使用.NET与C#。 如果有人能在C#中提供示例代码示例,那将会很棒。 谢谢

在流畅的界面中实现条件

我一直在尝试为我的系统中的一组规则实现流畅的界面。 我想要完成的是这个 TicketRules .RequireValidation() .When(quartType => quartType == QuartType.Before).TotalMilageIs(64) .When(quartType => quartType == QuartType.After).TotalMilageIs(128); 但是,我无法实现有条件的方式。 目前,我需要在此片段中调用When()两次: rules.When(param => param.Remarque == “Test”).TotalMilageIs(100); rules.When(param => param.Remarque == “Other”).TotalMilageIs(50); var params1 = new AddTicketParameters() { Remarque = “Test” }; var params2 = new AddTicketParameters() { Remarque = “Other” }; rules.ExecuteWith(params1); Assert.That(ticket.TotalMilage, Is.EqualTo(100)); rules.ExecuteWith(params2); Assert.That(ticket.TotalMilage, Is.EqualTo(50)); 我的TicketRules类看起来像这样: [EditorBrowsable(EditorBrowsableState.Never)] public […]

抽象类和接口之间的区别

可能重复: 接口与基类 我不理解抽象类和接口之间的区别。 我什么时候需要使用哪种类型的艺术品?

简单的应用架构建议

我正在尝试创建一个松散耦合,高度可测试,具有良好清洁代码等的小型演示Web应用程序。总之,我正在尝试以正确的方式做事。 ;) 我目前在Wolfie解决方案中有三个项目: Wolfie.Core – 包含业务实体 Wolfie.Data – 包含数据访问代码,引用Core。 Wolfie.Web – 将成为一个南希网站。 目前,Core对任何其他项目一无所知。 数据必须引用Core,因为Core具有Data将返回的类型。 所以在这一点上,我发现自己意识到Web需要引用Core和Data才能工作,因为实体类型在Core中,数据库调用在Data中。 Data中的所有存储库类都有接口,因此可以模拟存储库以进行测试。 我不认为我想将任何特定于数据库的代码或引用放入Core中,并且我希望将实体业务规则保留在Data之外。 从Web引用这两个项目是否正确 ? 或者是否需要Web和其他项目之间的另一个项目,以便Web仅引用一个地方,然后不负责调用数据方法等。 我的目标是一个架构,我的核心应用程序独立于数据层和Web层。 我希望我已经有所了解,我期待一些有用的回复。

通用单例

我有一个问题,这是制作Generic Singleton的正确方法吗? public class Singleton where T : class, new() { private static T instance = null; private Singleton() { } public static T Instancia { get { if (instance == null) instance = new T(); return instance; } } } 编辑: 检查一些PDF我发现一个通用的Singleton用另一种方式制作,这是另一个正确吗? public class Singleton where T : class, new() { Singleton() { } […]

什么是部分课程?

它是什么以及如何在C#中使用。 你能在Python / Perl中使用相同的概念吗?

从基类方法克隆派生类

我有一个抽象基类Base ,它有一些共同的属性,以及许多派生的实现不同逻辑但很少有其他字段。 public abstract Base { protected int field1; protected int field2; …. protected Base() { … } } 有时我需要克隆派生类。 所以我的猜测是,只需在我的基类中创建一个虚拟Clone方法,并且只在具有其他字段的派生类中覆盖它,但当然我的Base类不再是抽象的(这不是问题,因为它只有protected构造函数)。 public Base { protected int field1; protected int field2; …. protected Base() { … } public virtual Base Clone() { return new Base(); } } public A : Base { } public B : […]