
소프트웨어 개발 방법에서 사용되는 디자인 패턴은 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 과거의 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 이름을 붙여, 이후에 재이용하기 좋은 형태로 특정의 규약을 묶어서 정리한 것이다. 알
타이틀 : Hello내용 : Name항목 : null먼저 Text클래스를 생성해주고 반환을 할 문자열과 이를 출력해줄 toString()을 생성해준다단지 Text의 클래스 내부에 존재해서 접근시 Text.Builder로 접근할 뿐 하나의 클래스로 취급한다이제 처음 메인
코드 읽기/유지보수가 매우 편리하다위 방식의 코드를 생성자없이 내부 정적 클래스를 통해서 구현한 것이다. 따라서 기존에는 메소드 구현시 매개변수로 객체를 생성할때 계속 넣어줘야 하는데 그럴 필요없이 여러가지 조합을 항목을 넣고 빼는 방식으로 구현할 수 있다위와 같은 방
인터페이스를 이용해서 클래스와 객체의 결합도를 낮춰서 객체를 생성하는 방법Factory팩토리의 인스턴스 생성 자체는 super클래스가 가지고있고, 서브클래스에서 그것을 실제로 구현하는 코드를 위임받아서 작성하는 패턴동일 인터페이스를 사용해서 다른 객체들을 구현한 결과이
Factory Method 방법에서 객체의 인터페이스와 공장의 인터페이스 두개를 사용하는 대신객체의 인터페이스만을 사용하고 객체 클래스에서 내부 정적 클래스를 통해 Factory를 선언하여 사용하는 방식도 있다단, 이런 경우 Product인터페이스가 아닌 Book클래스
하나의 인스턴스만을 가져도 되는 상황에서 사용하는 패턴으로 단 하나의 인스턴스만을 갖는 것이 보증이되는 방식이다사용예시데이터베이스를 관리하기 위한 데이터베이스 관리자 객체를 사용할 때마다 생성할 필요가없을 때 유일한 관리자 객체를 사용하는 방법 등으로 이용할수 있다내가
서로 맞지 않는 두가지 객체를 연결해주는 역활을 하는 것예시getName, getAge메소드만 존재하는 Person객체에 대해서 showName, showAge메소드를 사용하기 위해 중간 다리를 놔주는 형태이다Student인터페이스를 구현받고 Person객체를 원하는
객체를 점점 꾸미듯이 확장하는 패턴을 말한다. 케익을 만들때 점점 쌓으면서 꾸미는 느낌과 같다예시new App(new SideBorder(new FullBorder(new SideBorder(new TextWidget("hello")))));출력해야할 텍스트의 크기 및

명령 하나하나를 인스턴스로 표현하는 방식JFrame을 사용하면 window를 생성할 수 있다창에 버튼, 그림판 등의 기능을 추가할 수 있다Box를 생성하고 이때 추가되는 기능들을 X축 방향으로 넣을지 Y축 방향으로 넣을지 정할 수 있다Command, Drawable 인
인스턴스 정보를 저장, 복원하는 행위에 사용되는 패턴인스턴스를 복원할려면 전에 저장했던 인스턴스에 언제든지 접근해야한다MacroCommand의 history를 담아서 load시 꺼낼수 있도록 하는 클래스를 구현여기서 매개변수로 받은 state를 clone이 아닌 그대로
옵저버란 관찰자를 뜻하며 사용자가 어떠한 행위를 하게 되면 등록된 옵저버들을 실행하게 되는 방식이다옵저버 객체 randomGenerator에 Digit옵저버, Graphic옵저버와 메인에서 람라식으로 선언한 옵저버를 넣고 메서드를 실행하는 모습이다Observer 인터페