クラスの設計に関するアドバイスが必要です。私はちょうどxxxServiceクラスを使い始めたので、いつどのように使用するのかは分かりません。クライアントメッセージのフォーマットと送信、xxxServiceクラスの使用
多くの(同一の)クライアントアプリケーションが、このプログラムにソケットTcpClientで接続します。いくつかの異なるクラスから異なる種類のメッセージを送信する必要があります。いくつかのメッセージを送信する必要があるときはいつでも、静的メソッドを使ってサービスクラスを呼び出すか、イベントを発生させて、そのイベントに登録してメッセージをフォーマットして送信するクラスを作成する必要があります。それはもっとカップリングを失うことでしょう、それはおそらくそれは良いアイデアですか?
これは、これらのクラスから一連のイベントを隠すことになりますが、一方で、メッセージを送信するすべてのイベントを簡単に見ることができる集中クラスになります。それは利益のように感じます。
これに関するいくつかのアドバイスをお聞きしたいと思います。私の最後の提案が理にかなっていれば、どのようなクラスを呼び出すことができますか?それはサービスクラスと見なされますか?ちょうど私により良い理解を与えるために。
乾杯!
例:
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