Dar*_*arf 2 c# design-patterns
我正在使用文档类.第一次,它是使用New(),Open(),Save()等方法的公共文件.
New()和Open()返回一个IDocument.保存不会返回任何内容.如上图所示.

在我的程序中,它必须使用xml或zip文件扩展名.对于xml文件,有任何问题,所有方法都适用于它.但我有zip文件的问题.我打算这样做,当程序执行Open()时,从zip中提取所有xml文件并返回所有文件.但是我的Open()只返回一个文档.
我打算创建另一个名为CanExtract()的属性,但也许这不是一个好主意.我只想创造一个好的设计并且可以理解.
更改您的Open()函数以返回IEnumerable的IDocument:
public IEnumerable<IDocument> Open()
Run Code Online (Sandbox Code Playgroud)
代替
public IDocument Open()
Run Code Online (Sandbox Code Playgroud)
然后当你打开一个xml文件时,它会返回一个包含1个IDocument的IEnumerable,你可以使用它.当您打开zip文件时,它会将zip中的所有文件作为IEnumerable中的IDocuments返回.
| 归档时间: |
|
| 查看次数: |
1125 次 |
| 最近记录: |