我正在开发一个银行客户端-服务器架构。
我想知道组织服务器端最方便的方法是什么。银行是否需要在同一个文件中作为服务器和图形用户界面?
因为目前我有实例化银行的服务器 GUI。这家银行有一个客户列表,每个客户都有几个账户。
我的第一个问题涉及服务器 GUI 中的 JTable。实际上,银行存储了一个 ArrayList,其中包含客户先前完成的每个操作。我写了一个 AbstractTableModel 的实现,它也存储了一个 ArrayList。问题是服务器为 JTable 实例化了一个 Bank 和一个 TableModel。因此,当银行在其 ArrayList 中添加一个操作时,TableModel 并没有意识到这一点。如何在不将 TableModel 提供给 Bank 的情况下将这两者联系起来?
第二个问题涉及与客户端的连接。当登录名/密码正确时,服务器将会话接口传递给客户端。会话包含客户可以执行的银行操作。如果 SessionImpl 封装了 Bank 实例,是否存在安全问题?因为实际上 Session 方法调用了 Bank 方法。会话是客户端和服务器之间唯一的远程对象,但封装银行给我的印象是客户端可以直接访问银行。