私はドキュメントクラスを使用しています。はじめてNew()、Open()、Save()などのメソッドを持つ共通ファイル用です。Documentクラスのモデリング方法
New()とOpen()はIDocumentを返します。保存しても何も返されません。 上記の図のとおりです。私のプログラムで
、これは、XMLまたはzipファイル拡張子を使用する必要があります。 XMLファイルには問題はありますが、すべてのメソッドがそれです。しかし、私はzipファイルに問題があります。プログラムがOpen()を実行し、zipからすべてのxmlファイルを抽出し、すべてのファイルを返すとき、私はこれを行う予定でした。しかし、私のOpen()はドキュメントを返すだけです。
CanExtract()という別のプロパティを作成する予定でしたが、これは良い考えではないかもしれません。私はちょうど良いデザインを作成し、理解できるようにしたい。その後
public IEnumerable<IDocument> Open()
代わりの
public IDocument Open()
をあなたは、XMLを開いたとき、それはIEnumerableを1つのIDocumentを含むとすることができます返すファイル:
[System.IO.Packaging名前空間のオープンパッケージング条約](http://msdn.microsoft.com/en-us/library/system.io.packaging.aspx)を見ましたか?この2つの状況をかなりうまく処理します。 – user7116
@sixlettervariablesうわー、面白いね。だから、私がやっていることは必要ではないと思いますか? – Darf
私は頼んで、借りて、ソルジャーを盗む。 'System.IO.Packaging'を直接使用することを拒否した場合は、そのモデルまたは少なくともそのイディオムを採用することができます。 – user7116