適當的設計,我在Java中創建一個通用的「SocketServer的」類採用下列參數: 字符串地址,INT端口,類套接字協議,字符串encryptionType加密,詮釋backlogSize幫助與通用套接字服務器
基本上,我希望其他開發人員能夠在他們的項目中實例化這個類,併爲加密,積壓,地址,端口設置一些簡單的選項..在這一點上他們必須設計協議。 SocketProtocol是一個接口,它支持sendMessage和receiveMessage(以及其他一些接口)。
此時,類的用戶應該只實現SocketProtocol並將類(即MySocketProto.class)傳遞給SocketServer實例,該實例將通過.newInstance實例化每個傳入連接的協議副本( );
這是否有意義?有沒有更簡單的方法來建立這種類型的功能?我不喜歡將類的類型傳遞給服務器的想法,這似乎很奇怪。
感謝所有, 克里斯
我像這個想法..它確實照顧了類參數。那麼,讓我直截了當地說,ISocketProtocolFactory實現實例將實現用戶實現的ISocketProtocol,然後返回實例化的對象? – 2010-07-15 18:01:21
沒錯。您甚至可以將參數添加到'buildProtocol',並且用戶可能會在某些情況下返回不同的'ISocketProtocol'實現。但在大多數情況下,它只是'返回新的MySocketProtocol()'。 – 2010-07-15 19:01:48
甜。謝謝。聽起來像工廠設計模式符合要求。我很熟悉它,但沒有想到在這種情況下使用它! – 2010-07-15 20:40:53