在这里学习模式和玩 Jar 文件。不确定这是否可能...
我有一个包含 3 个主要部分的应用程序(服务器):响应、请求和路由器。我的路由器最初是我的服务器中的一个类。然后我把它拉出来,做成一个单独的罐子。让它工作。现在我想制作多个罐子,并让服务器根据菜单命令使用一个罐子。服务器有两个可用的外部库(即罐子)(A 和 B)。每个都是自定义路由器类。
我想在我的服务器菜单中编写代码,如下所示:
Server: "Which router do you want to use?"
User: "A"
*Server uses A's Router.*
或者
Server: "Which router do you want to use?"
User: "B"
*Server uses B's Router*
这是我的服务器 run() 方法...
在尝试连接到多个路由器之前:
public void run() {
Request request = new Request();
Router router = new Router();
Response response = new Response();
HashMap receivedRequest = request.get(Socket);
byte[] builtResponse = router.getResponse(receivedRequest);
response.send(Socket, builtResponse);
Socket.close();
}
我的尝试(但不工作):
public void run() {
Request request = new Request();
Router router
if "A"
router = new A.Router(workingDirectory, publicDirectoryPath, routesFilePath, htAccessFilePath);
else
router = new B.Router(workingDirectory, publicDirectoryPath, routesFilePath, htAccessFilePath);
Response response = new Response();
HashMap receivedRequest = request.get(Socket);
byte[] builtResponse = router.getResponse(receivedRequest);
response.send(Socket, builtResponse);
Socket.close();
}
问题是我的“路由器”变量必须声明为某种类型(A 路由器或 B 路由器)。如果我创建一个接口,那么我必须在每个 Jar 中实现该接口,我不能这样做,对吧?
想知道这是否可能?