Vb.net 开发请求和响应系统
例如: 我期待着设计一个项目的请求和响应系统。请求和响应都是类 我不使用接口,因为我自己使用命令 使用示例:Vb.net 开发请求和响应系统,vb.net,visual-studio,design-patterns,Vb.net,Visual Studio,Design Patterns,例如: 我期待着设计一个项目的请求和响应系统。请求和响应都是类 我不使用接口,因为我自己使用命令 使用示例: dim result as Response = ExecuteCommand(of Response)(new Read()) dim result as DiffResponse = ExecuteCommand(of DiffResponse)(new Read()) 设计示例: Class Command Private buffer as new List(of b
dim result as Response = ExecuteCommand(of Response)(new Read())
dim result as DiffResponse = ExecuteCommand(of DiffResponse)(new Read())
设计示例:
Class Command
Private buffer as new List(of byte)
Sub New(byval command As byte)
buffer.add(command);
End Sub
Overrideable get_request() As byte()
Return buffer.toarray
End Function
End Class
Class Read
Inherits Command
Sub New()
MyBase.New(&h01)
End Sub
End Class
Class Response
Private buffer As New List(Of Byte)
Sub New(ByVal data() As Byte)
{
buffer.addrange(data)
}
End Class
现在我希望能够有多种类型的响应,例如:
Class DiffResponse
Inherits Response
Sub New(data As Bytes())
MyBase.new(data)
' Custom processing
End Sub
End Class
DiffResponse类可能具有自定义的getter函数和变量
现在我做了这样的事情:
Public Function ExecuteCommand(Of response)(ByVal command As Command) As response
Return GetType(response).GetConstructor(New Type() {GetType(Byte())}).Invoke(New Object() {Me.WritePacket(command.get_request)})
End Function
这是最好的方法吗 我不清楚你想做什么。您能给出一个具体的例子说明如何使用这些类吗?dim result as DiffResponse=ExecuteCommandof DiffResponsenew命令&h1;命令能否返回任何可能的响应?e、 g.作为另一个响应的Dim结果=执行另一个响应的命令和新命令&h1;或者响应类是否以某种方式绑定到命令?不,命令是表单的数据包构造函数。自定义请求可以构建与另一个完全不同的数据包。响应类将解析数据。我愿意接受任何方法。对不起,我不明白。你的设计“感觉”不对,但我不确定。