Message
<シナリオ>
データを簡単に収集する.
純データ.(後で必要に応じてメソッドを追加)
データ分散の防止と処理.
return値はメール転送の成功/失敗なのでtrue/false booleanタイプに設定します
*サービスクラスの入力/出力は禁止されています.
依存オブジェクトまたは依存データを直接作成しない:依存性の注入
UIは、ユーザと接触するように見えるクラスのみを作成します.
グローバルを統括してオブジェクトを実行する方法.
1)データクラスの作成(DTO)
データ・クラスとは?
データを簡単に収集する.
純データ.(後で必要に応じてメソッドを追加)
データ分散の防止と処理.
package message;
public class MessageDTO { //데이터클래스
//누구에게, 제목, 내용
private String to;
private String title;
private String content;
public MessageDTO(String to, String title, String content) { //DTO를 꼭 사용해야하기때문
super();
this.to = to;
this.title = title;
this.content = content;
}
@Override
public String toString() {
return "MessageDTO [to=" + to + ", title=" + title + ", content=" + content + "]";
}
}
2)サービスクラスの作成(ロジック)
package message;
public class MessageService { //메서드-파라미터-인스턴트변수-생성자
public boolean messageSender(MessageDTO dto) { //return값은 전송성공or실패--> boolean
boolean result = false;
return result;
}
}
MessageSenderのパラメータは、データクラスで宣言されたMessageDTOです.return値はメール転送の成功/失敗なのでtrue/false booleanタイプに設定します
*サービスクラスの入力/出力は禁止されています.
3)UI(画面入出力)
package message;
import java.util.Scanner;
public class MessageUI { //사용자와 접촉하는것만
Scanner scanner;
MessageService service;
MessageDTO dto;
public MessageUI(Scanner scanner, MessageService service) {
super();
this.scanner = scanner;
this.service = service;
}
public void work() {
System.out.println("누구에게?");
String to = scanner.nextLine();
System.out.println("제목은?");
String title = scanner.nextLine();
System.out.println("내용은?");
String content = scanner.nextLine();
System.out.println("전송을 취소하려면 n을 눌러주세요");
String input = scanner.nextLine();
if(input.equals("n")) {
work(); //재귀: work메서드에서 work메서드호출
}
MessageDTO dto = new MessageDTO(to, title, content);
boolean result = service.messageSender(dto);
System.out.println("전송내용: "+ dto);
}
}
MessageUIにはメッセージ・サービスが必要です:依存関係依存オブジェクトまたは依存データを直接作成しない:依存性の注入
UIは、ユーザと接触するように見えるクラスのみを作成します.
4) Main
package message;
import java.util.Scanner;
public class Main {
public static void main(String[] args) { //전체를 총괄, 객체를 만들고 실행하는것.
Scanner scanner = new Scanner(System.in);
MessageService service = new MessageService();
MessageUI ui = new MessageUI(scanner, service);
ui.work();
}
}
mainメソッドはオブジェクト向けに関係のないメソッドです.グローバルを統括してオブジェクトを実行する方法.
Reference
この問題について(Message), 我々は、より多くの情報をここで見つけました https://velog.io/@dlsdk2526/day9-Messageテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol