こんにちは。質問させていただきます。
前提
趣味と練習を兼ねてXamarinとC#でデータの保存/読出しを中心としたアプリを作成しており、今はDataAccessObject(DAO)まわりを作成しているところです。基本的なCRUDについてのインターフェースおよび実装は用意できました。
実現したいこと
CRUDについてはできたので、テーブル操作に関するメソッドを用意したいです。CRUD同様にDAOのインターフェースに用意していいものか、別に分けるべきか悩んでおり、またいずれにしてもどのように用意すればよいでしょうか、というのが質問です。関連する記事などを教えていただくだけるだけでもありがたいです。
試したこと(考えてみたこと)
始め考えたのは、アクセス先がDBだけれあればCRUDのメソッドと一緒にCreateTable、DeleteTableなどを用意すればいいかと思いました。しかし一部データについては、フォルダをテーブル、ファイルをレコードと見なして管理することを考えています。そこで、テーブル操作を抽象化した名前を考えるか(サンプルコード※1)、ファイルによる管理をテーブル操作とみなしてしまうか(サンプルコード※2)と考えましたが、どこかしっくりきません。そこで、DAOのインターフェースではないどこかに用意すべきか…?とも考え、悩んでいる状況です。
サンプルコード:
C#
1namespace MyApp.Services 2{ 3 // UserMetadataモデルのDAOのインタフェースです 4 public interface IUserMetadataDao 5 { 6 void CreateTable(); // (※1) 7 void CreateStore(); // (※2) 8 void Insert(UserMetadata item); // C 9 void Update(UserMetadata item); // U 10 void Delete(string id); // D 11 UserMetadata FindById(string id); // R 12 IEnumerable<UserMetadata> FindAll(); // R 13 } 14}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/10/08 03:36 編集