需要一些关于课堂设计的建议。我刚开始使用xxxService类,所以不确定何时以及如何使用它们。
许多(相同的)客户端应用程序使用套接字TcpClient连接到此程序。需要从几个不同的类发送不同类型的消息。我是否应该使用静态方法调用服务类,每当我需要发送一些消息时(如下面的代码所示),或者我应该提出一个事件,并为这些事件注册一些类,这将格式化并发送消息。这将是一个更失败的耦合,所以也许这是一个更好的主意?
这会隐藏来自这些类的事件序列,但另一方面,它将是一个集中式类,人们可以轻松地看到触发消息发送的所有事件。这感觉就像一个好处。
想听听有关这方面的一些建议。如果我的最后一个建议有意义,那么可以调用这样的类,它会被视为一个..Service类吗?只是为了让我更好地理解。
喝彩!
示例:(代码有点“粗糙”)
Class UserConnection
tcpClient As TcpClient
Public Sub SendMsg(msg as String)
' Sending by tcpClient
End Sub
End Class
Class UserAccount
userData as UserData
conn As UserConnection
balance as Decimal
Public Sub UpdateAccount(newBalance as Decimal)
' perform some logic
Dim history as new AccountHistory(me.Balance, ......, ....)
UserMessageFormatSendService(history)
End Sub
End Class
Class UserMessageFormatAndSendService()
Public Shared SendAccountUpdate(user as UserAccount, accountHistory as AccountHistory)
' Some code formatting it into a string message
Dim msg = .......
user.Conn.SendMsg(msg)
End Class
答案 0 :(得分:0)
UserMessageFormatAndSendService 应该实现您的服务接口 比如说, IUserMessageService - 这样你可以测试它和/或在需要时替换功能
类本身(UserMessageFormatAndSendService)不是“服务”,它是真实服务的代理,因此您可以将其称为 UserMessageServiceAgent 。