C#OOP文件结构?

soo*_*ise -1 c# oop structure class file

我最近刚刚开始使用对象进行编程,并且我很早就想学好习惯.

我计划构建应用程序的方式是有两个文件:

1:Program.cs - 该文件将包含应用程序
2 的主要逻辑:Class.cs - 该文件将包含所有类定义

很简单.我想知道我是否应该有更多的文件......好吧,你告诉我.

任何帮助,将不胜感激.

kem*_*002 7

人们普遍认为每个类都应该拥有自己的文件.

Program.cs - 该文件将包含应用程序的主要逻辑

我假设当你这样说你的意思是主类在这个文件中.(具有应用程序入口点的类).应该将逻辑的各个部分分开并放在最有意义的类中.

面向对象设计的链接:http:
//www.csharphelp.com/2006/05/designing-object-oriented-programs-in-c/

http://www.informit.com/articles/article.aspx?p=101373

命名空间的链接:http:
//www.csharphelp.com/2006/02/namespaces-in-c/

http://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx


Wil*_*ler 5

以下是一些帮助您入门的基础知识.=)

  1. .Net命名约定和编程标准和最佳实践 ;
  2. 面向对象的概念 ;
  3. 面向对象设计 ;
  4. C#编码风格指南 ;
  5. 文件组织
  6. Code Convention C# ;
  7. 课程图书馆开发人员设计指南 ;

您的解决方案的体系结构可能如下所示:

  1. 您的课程的一个项目(每个文件一个类);
  2. 一个用于数据访问的项目;
  3. 一个GUI项目;
  4. 集成层的一个项目(如NHibernate,EntityFramework等)

请记住,您必须使每段代码尽可能可重用.通过将业务对象(您的类)编写到一个独立的项目中,这样可以让您稍后将该项目引用到另一个项目中,这样您就不必重新编写所有业务逻辑(方法等)和业务.对象(类,枚举,接口等)

面向对象的设计试图概括对象的每个实际方面,并将其带到业务对象的最顶级类.例如:

// File: Person.cs
public class Person {
    public string Name { get; set; }
    public string Number { get; set; }
    // Some other general properties...
}

// File: Customer.cs
public class Customer : Person {
    public Customer() {
        Orders = new List<Order>();
    }
    public string CreditTerm { get; set; }
    public IList<Order> Orders { get; }
}

// File: Contact.cs
public class Contact : Person {
    public long PhoneNumber { get; set; }
    public long FaxNumber { get; set; }
}

// File: Supplier.cs
public class Supplier : Person {
    public Supplier() {
        Salesperson = new Contact();
    }
    public Contact Salesperson { get; }
}
Run Code Online (Sandbox Code Playgroud)

还建议您指定每个项目的含义.我们来看一个客户管理应用程序:

MyCompany.MyCustomerMgmtSoftware.Domain <=此项目应包含您的业务类定义

MyCompany.MyCustomerMgmtSoftware.Data <=此项目应包含访问DBRM的数据类.

MyCompany.MyCustomerMgmtSoftware <=此项目通常包含您的GUI

MyCompany.MyCustomerMgmtsoftware.Mappings <=此项目应包含您的映射文件(例如,使用NHibernate时).

这有帮助吗?