簡體   English   中英

C#OOP文件結構?

[英]C# OOP File Structure?

我最近才開始使用對象進行編程,並試圖盡早學習良好的習慣。

我計划構建應用程序的方式是擁有兩個文件:

1:Program.cs-該文件將包含應用程序的主要邏輯
2:Class.cs-此文件將包含所有類定義

很簡單 我想知道我是否還需要其他文件...好吧,你告訴我。

任何幫助,將不勝感激。

通常,每個類都應擁有自己的文件。

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/zh-CN/library/dfb3cx8s.aspx

這里有一些基礎知識可以幫助您入門。 =)

  1. .NET命名約定和編程標准及最佳實踐 ;
  2. 面向對象的概念
  3. 面向對象設計
  4. C#編碼樣式指南 ;
  5. 文件組織
  6. 代碼約定C# ;
  7. 類庫開發者設計指南 ;

解決方案的體系結構可能如下所示:

  1. 一個類的項目(每個文件一個類);
  2. 一個項目供您訪問數據;
  3. GUI的一個項目;
  4. 集成層的一個項目(例如NHibernateEntityFramework等)

請記住,您必須使每個代碼都盡可能地可重用。 通過將業務對象(您的類)寫入一個獨立的項目中,您將可以稍后將該項目引用到另一個項目中,因此您不必重新編碼所有業務邏輯(方法等)和業務。對象(類,枚舉,接口等)

面向對象的設計正在試圖概括對象的每個實際方面,並將其帶入業務對象的最通用類。 例如:

// 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; }
}

還建議您指定每個項目代表什么。 讓我們以一個客戶管理應用程序為例:

MyCompany.MyCustomerMgmtSoftware.Domain <=此項目應包含您的業務類別定義

MyCompany.MyCustomerMgmtSoftware.Data <=此項目應包含用於訪問DBRM的數據的類。

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

MyCompany.MyCustomerMgmtsoftware.Mappings <=該項目應包含您的映射文件(例如,在使用NHibernate時。

這有幫助嗎?

我唯一的建議是將Class.cs中的每個類分成自己的名為ClassName.cs的文件。

這將使查找和修復錯誤的過程更加輕松。

每個文件中的代碼更少=更少的搜索來查找違規代碼。

每個類應具有其自己的文件-而不是一個包含許多類的.cs文件。 我不確定,沒有嘗試過,但是您的IDE可能會強制執行。

普遍接受的原則是,每個類(或在2.0+應用程序的情況下為部分類)只有一個文件。 對於任何不平凡的應用程序,你肯定希望你所有的類定義在一個文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM