Это часть сложного задания по программированию для курса разработки программного обеспечения. Цель состоит в том, чтобы добавить уровень безопасности между NetworkLayerInterface и ApplicationLayerInterface. Этот промежуточный уровень называется PresentationLayerInterface.
Абстрактные методы, которые являются частью диаграмм UML для сетевого уровня:
openConnection()
closeConnection()
sendMessage(String)
receiveMessage(String)
getPresentationLayer()
setPresentationLayer()
Абстрактные методы, которые являются частью диаграмм UML для прикладного уровня:
start()
stop()
sendMessage(String)
receiveMessage(String)
getPresentationLayer()
setPresentationLayer()
Абстрактные методы, являющиеся частью UML-диаграмм для уровня представления:
start()
stop()
sendMessage(String)
receiveMessage(String)
getNetworkLayer()
setNetworkLayer()
getApplicationLayer()
setApplicationLayer()
Метод start () выглядит следующим образом в начальной реализации уровня приложения, который выполняет не используйте PresentationLayer в качестве посредника.
@Override
public void start() {
//TODO: Part 2: Replace with method invocation of the the presentation layer
networkLayer.openConnection();
}
Метод openConnection () внутри метода start () реализован в файле TCPNetwork. java, который реализует интерфейс сетевого уровня. Это выглядит следующим образом:
@Override
public void openConnection() {
System.out.println("Connecting to server ...");
try {
socket = new Socket(host, port);
socketInput = new Scanner(new InputStreamReader(socket.getInputStream()));
socketOutput = new PrintWriter(socket.getOutputStream(), true);
waitForIncommingMessages();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Connection established.");
}
Как вызвать метод start (), если я больше не могу (в соответствии с назначением) сделать это с помощью networkLayer.openConnection (); например,
Я пробовал, например, следующее:
public void start() {
//TODO: Part 2: Replace with method invocation of the the presentation layer
//networkLayer.openConnection(); Originally this
//presentationLayer.start();
//presentationLayer.openConnection(); Can't add method to Presentation Interface
}
Я действительно любитель Java пользователь, поэтому, пожалуйста, не делайте предположений о предварительном существующие знания.