[英]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
這里有一些基礎知識可以幫助您入門。 =)
解決方案的體系結構可能如下所示:
請記住,您必須使每個代碼都盡可能地可重用。 通過將業務對象(您的類)寫入一個獨立的項目中,您將可以稍后將該項目引用到另一個項目中,因此您不必重新編碼所有業務邏輯(方法等)和業務。對象(類,枚舉,接口等)
面向對象的設計正在試圖概括對象的每個實際方面,並將其帶入業務對象的最通用類。 例如:
// 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.