MS がフォーラムのサンプル アプリケーションをリリースしたときのことを覚えています。アプリケーションの設計は次のようなものでした。
/Classes/User.cs /Classes/Post.cs ... /Users.cs /Posts.cs
そのため、classes フォルダーにはクラス、つまりプロパティとゲッター/セッターだけが含まれていました。Users.cs、Post.cs などには、データ アクセス層にアクセスする実際のメソッドがあるため、Posts.cs は次のようになります。
public class Posts
{
public static Post GetPostByID(int postID)
{
SqlDataProvider dp = new SqlDataProvider();
return dp.GetPostByID(postID);
}
}
もう 1 つのより伝統的な方法は、Posts.cs のすべてのメソッドをクラス定義 (Post.cs) に入れることです。
物事を2つのファイルに分割すると、手続きがはるかに簡単になりますよね? クラスから動作を取り出して別のクラス定義に入れているため、これは OOP ルールに違反していませんか?