java Flyweight pattern 실습해보기
오늘은 자바로 flyweight 패턴을 실습해보았습니다. 이 패턴은 객체들을 공유하여 메모리 사용량에 초점을 둔 패턴이며, 대체로 공유되어도 되는 객체를 많이 생성할 때, 이 패턴으로 설계하면 유리하다고 합니다. 객체를 공유하는 유사 패턴으로는 싱글톤 패턴도 있습니다. 코드 아래 코드는 자바 코드를 처음 실행할 때는 만들어지고 두번 실행하면 ...
오늘은 자바로 flyweight 패턴을 실습해보았습니다. 이 패턴은 객체들을 공유하여 메모리 사용량에 초점을 둔 패턴이며, 대체로 공유되어도 되는 객체를 많이 생성할 때, 이 패턴으로 설계하면 유리하다고 합니다. 객체를 공유하는 유사 패턴으로는 싱글톤 패턴도 있습니다. 코드 아래 코드는 자바 코드를 처음 실행할 때는 만들어지고 두번 실행하면 ...
오늘은 Memento 패턴을 자바로 실습해보겠습니다. Memento 패턴은 객체의 상태를 저장하여 때에 따라서 복원할 수 있는 패턴입니다. 코드 public class Memento { private String state; public String getState() { return state; } public void setS...
오늘은 자바로 state 패턴을 실습해보았습니다. 기능을 메소드로 묶어든 뒤, 객체의 속성에 따라 객체의 메소드를 변화줄 수 있습니다. if문이 계속 바꿔야되는 상황에서 이 패턴이 쓰인다고 합니다. 코드 on과 off로 상태를 변화하면서 기능도 변화시킵니다. public class state { IState State; IState...
오늘은 java로 Mediator pattern을 실습해보려 합니다. 프로그램의 상호작용을 해야 하는 개체들이 서로 복잡하게 얽혀 있을 경우, 중재를 맡는 개체를 두게하는 패턴입니다. 번역하면 중개자 패턴이라고 하며, 중개자와 객체가 서로 통신하면서 상호작용합니다. public interface Imediator { void send(Strin...
오늘은 java로 Observer pattern을 실습해보았습니다. 옵저버, 즉 관찰자 패턴라고하며, 이 관찰자의 목록이 객체에 등록되어 상태에 변화가 있을때마다 메소드로 통지되는 패턴입니다. 주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용된다고 합니다. 방식 이벤트가 발생하면 각 옵저버는 콜백을 받고, notify 함수는 관찰 대상이 발행...
오늘은 Facade pattern을 java로 실습해보았습니다. 퍼사드 패턴은 다수의 패키지와 퍼사드, 클라이언트로 구성되며, Facade는 “건물의 정면”을 의미한다고 합니다. 코드 package system; class COM_1 { public void RaidCOM1() { System.out.println("booting com1...
오늘은 java로 Chain of responsibility pattern, 즉 책인 연쇄 패턴에 대하여 실습해보려고 합니다. 객체간의 결합을 느슨하게 해주기 위한 방식으로서, 여러 객체가 요청을 처리하도록 맡겨두는 패턴입니다. try catch문이 이 패턴과 유사한 패턴이라고 합니다. 코드 이번 코드는 계산기의 덧셈만 예시로 들면서 작성해보았...
오늘은 Visitor pattern에 대하여 실습해보려 합니다. Visitor pattern은 알고리즘을 객체 구조에서 분리시키는 디자인 패턴입니다. 이렇게 분리를 하게되면, 새로운 기능을 위해서 프로그램의 구조를 수정하지 않고서도 기존의 객체 구조에 기능을 추가할 수 있게 됩니다. 코드 interface CarAccept { void acc...
오늘은 decorator 패턴에 대하여 직접 실습해보자 합니다. 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴이라고 합니다. 간단히 말해보면 객체에 또 다른 객체를 붙일 수 있습니다. 코드 public interface Linux { public void getVersion(); } 우선 버전을 나타내는 메소드를 인터페이스...
오늘 java로 composite Pattern을 실습해보려 합니다. 컨테이너와 내용을 동일시하는 패턴입니다. composite 컴포지트(composite)는 객체들의 관계를 트리 구조로 구성한다는 의미입니다. 코드 파일과 폴더를 구현해보는 예제가 유명한 것 같아서 따라서 실습해보았습니다. public interface Feature { ...