[IButtonListener.java]
package com.company.design.observer;
public interface IButtonListener {
void clickEvent(String event);
}
-------------------------
[Button.java]
package com.company.design.observer;
public class Button {
private String name;
private IButtonListener buttonListener;
public Button(String name){
this.name = name;
}
public void addListener(IButtonListener buttonListener){
this.buttonListener = buttonListener;
}
public void click(String message){
buttonListener.clickEvent((message));
}
}
----------------------------------
[main.java]
public class Main {
public static void main(String[] args) {
Button button = new Button("버튼");
button.addListener(new IButtonListener() {
@Override
public void clickEvent(String event) {
System.out.println(event);
}
});
button.click("메시지 전달: click1");
button.click("메시지 전달: click2");
button.click("메시지 전달: click3");
button.click("메시지 전달: click4");
}
https://futurecreator.github.io/2018/06/04/java-observer-pattern/
Java 옵저버 패턴 (Observer Pattern)
하나 혹은 여러 클래스가 어떤 클래스의 상태 변화에 따라 동작해야하는 경우를 생각해봅시다. 예를 하나 들어보겠습니다. 제가 요즘 재밌게 보고 있는 페이지 중 ‘책 끝을 접다’ 라는 페이지
futurecreator.github.io
public class Main {
public static void main(String[] args) {
Ftp ftpClient = new Ftp("www.foo.co.kr", 22, "/home/etc");
ftpClient.connect();
ftpClient.moveDirectory();
Writer writer = new Writer("text.tmp");
writer.fileConnect();
writer.fileWrite();
Reader reader = new Reader("text.tmp");
reader.fileConnect();
reader.fileRead();
reader.fileDisconnect();
writer.fileDisconnect();
ftpClient.disConnect();
SftpClient sftpClient = new SftpClient("www.foo.co.kr", 22, "/home/etc", "text.tmp");
sftpClient.connect();
sftpClient.write();
sftpClient.read();
sftpClient.disConnect();
GitHub - Youngju-Jang/fastcampus-springboot-introduction: 패스트 캠퍼스 스프링 부트 입문
패스트 캠퍼스 스프링 부트 입문. Contribute to Youngju-Jang/fastcampus-springboot-introduction development by creating an account on GitHub.
github.com
[main]
public static void main(String[] args) {
Encoder encoder = new Encoder();
//base64
EncodingStrategy base64 = new Base64Strategy();
//normal
EncodingStrategy normal = new NormalStrategy();
String message = "hello java";
encoder.setEncodingStrategy(base64);
String base64Result = encoder.getMessage(message);
System.out.println(base64Result);
encoder.setEncodingStrategy(normal);
String normalResult = encoder.getMessage(message);
System.out.println(normalResult);
encoder.setEncodingStrategy(new AppendStrategy());
String appendResult = encoder.getMessage(message);
System.out.println(appendResult);
ch4. API만들기 _ REST Client 설치, controller생성, get api 생성 (0) | 2022.07.29 |
---|---|
ch3. 웹개발 개론 (0) | 2022.07.28 |
Tip. loading time알아내기 (0) | 2022.07.27 |
ch2.4프록시패턴 & ch2.5 데코레이터 패턴 (0) | 2022.07.27 |
ch2.2 싱글톤패턴 && 2.3 어댑터 패턴 (0) | 2022.07.27 |
댓글 영역