在系统开发中我们经常遇到各种各样的文档处理,甚至要添加到各种工作流里去。
比如日志操作,系统里日志可以用文本txt和数据库等方式记录,有时候我们还需要几种方式结合操作。比如,一条系统错误信息发生后,首先写入到文件系统,再写入到数据库,这样就要使用两个类进行分别的操作。一般会使用多播方式统一调用,这样调用方只需要调用统一的方法,方法又调用统一的接口,便能把实际操作类和应用逻辑解耦合,实现了灵活性和高扩展性,也便于今后的维护。
''' <summary>
''' 文档服务接口
''' 开发者:欧阳寒玟
''' 个人网站:www.coldwin.org
''' 开发时间:2010-11-10
''' 修改时间:2010-11-10
''' </summary>
''' <remarks></remarks>
Public Interface IDocumentServer(Of T)
''' <summary>
''' 文档名
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Property name As String
''' <summary>
''' 文档路径
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Property Path As String
''' <summary>
''' 文档内容
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Property Content As T
''' <summary>
''' 创建时间
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Property CreateDate As DateTime
''' <summary>
''' 创建人
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Property CreateAuthor As String
''' <summary>
''' 安全等级
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Property SafeLevel As Integer
''' <summary>
''' 创建一个文档对象
''' </summary>
''' <remarks></remarks>
Function Create() As IDocumentServer(Of T)
''' <summary>
''' 创建一个文档对象
''' </summary>
''' <param name="path">路径</param>
''' <returns></returns>
''' <remarks></remarks>
Function Create(ByVal path As String) As IDocumentServer(Of T)
''' <summary>
''' 保存文档
''' </summary>
''' <param name="CreateAuthor">文档作者</param>
''' <param name="content">文档内容</param>
''' <remarks></remarks>
Sub Save(ByVal createAuthor As String, ByVal content As T)
''' <summary>
''' 保存文档
''' </summary>
''' <param name="content">路径</param>
''' <remarks></remarks>
Sub Save(ByVal content As T)
''' <summary>
''' 保存文档
''' </summary>
''' <remarks></remarks>
Sub Save()
''' <summary>
''' 更新内容
''' </summary>
''' <remarks></remarks>
Sub Update()
''' <summary>
''' 更新内容
''' </summary>
''' <param name="parameter">更新的参数</param>
''' <remarks></remarks>
Sub Update(ByVal parameter As T)
''' <summary>
''' 更新内容
''' </summary>
''' <param name="key">主键</param>
''' <param name="parameter">更新的参数</param>
''' <remarks></remarks>
Sub Update(ByVal key As String, ByVal parameter As T)
''<summary>
' 其他类型转换为本文档
'' </summary>
'' <returns></returns>
''<remarks></remarks>
'Function Convent(Of Tfile)(ByVal document As IDocumentServer(Of Tfile))
''' <summary>
''' 删除该文档
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Function Delete() As Boolean
''' <summary>
''' 删除该文档
''' </summary>
''' <param name="path">路径</param>
''' <returns></returns>
''' <remarks></remarks>
Function Delete(ByVal path As String) As Boolean
''' <summary>
''' 关闭文档
''' </summary>
''' <remarks></remarks>
Sub Close()
End Interface