본문 바로가기

반응형

프로그래밍/자바 디자인 패턴

(22)
JAVA 설치- CentOS, ubuntu, mac JAVA 설치- CentOS, ubuntu, mac http://java.sun.com CentOS yum list | grep jdksudo yum remove java-1.7.0-openjdk.x86_64 -ysudo yum install java-1.8.0-openjdk-devel.x86_64 -y Ubuntu openjdk sudo add-apt-repository ppa:openjdk-r/ppasudo apt-get updatesudo apt-get install openjdk-8-jdk -y Ubuntu oracle-jdk sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java8..
자바 디자인 패턴 튜토리얼 - 자바 디자인 패턴 소개 디자인 패턴은 특정 문제 / 작업을 해결하기위한 입증 된 솔루션 입니다.예를 들어 인스턴스를 하나만 만들고 다른 모든 클래스에서 단일 객체를 사용할 수있는 클래스를 만들려면 싱글 톤 디자인 패턴을 사용하면 됩니다..디자인 패턴은 프로그래밍 언어에 독립적이며 일반적인 객체 지향 디자인 문제를 해결하기위한 것입니다.디자인 패턴은 구현이 아니라 아이디어를 나타냅니다.디자인 패턴을 사용하여 코드를 보다 유연하고 재사용 가능하며 유지 보수 쉽게 할 수 있습니다.자바 자체는 내부적으로 디자인 패턴을 따릅니다.핵심 자바에는 세 가지 유형의 디자인 패턴이 있으며, 이들 패턴은 하위 파트로 나뉩니다.창조적 인 디자인 패턴팩토리 패턴추상 팩토리 패턴싱글톤 패턴프로토 타입 패턴빌드 패턴.구조 설계 패턴어댑터 패턴브릿지 패턴..
자바 디자인 패턴 튜토리얼 - 자바 디자인 패턴 - 팩토리 패턴 공장 패턴은이 패턴이 오브젝트를 생성하는 더 좋은 방법을 제공하므로 생성 패턴입니다.Factory 패턴에서는 생성 논리를 클라이언트에 노출시키지 않고 객체를 생성합니다.예제다음 섹션에서는 팩토리 패턴을 사용하여 객체를 생성하는 방법을 보여줍니다.팩터 리 패턴에 의해 생성 된 객체는 원, 직사각형 등의 모양 객체입니다.먼저 셰이프를 나타 내기위한 인터페이스를 디자인합니다.public interface Shape { void draw(); } 그런 다음 인터페이스를 구현하는 구체적인 클래스를 작성합니다.다음 코드는 Rectangle.java를위한 코드입니다.public class Rectangle implements Shape { @override public void draw() { System.out.p..
자바 디자인 패턴 튜토리얼 - 자바 디자인 패턴 - 추상 팩토리 패턴 추상 팩터 리 패턴은 또 다른 창조 패턴입니다.팩토리의 팩토리라고도하는 추상 팩터 리 패턴에는 다른 팩토리를 생성하는 팩토리가 있습니다.Abstract Factory 패턴을 사용할 때는 먼저 super factory를 사용하여 factory를 만든 다음 생성 된 factory를 사용하여 객체를 만듭니다.예제다음 코드는 추상 팩터 리 패턴을 사용하는 방법을 보여줍니다.모양과 프린터를 만들 계획입니다. 도형의 경우 원, 사각형 및 사각형을 사용합니다. 프린터의 경우 프린터, 웹 프린터 및 스크린 프린터 용지를 사용합니다.모양을 위해 우리는 다음과 같이 Shape 인터페이스를 생성 할 것입니다.interface Shape { void draw(); } 그런 다음 Shape 인터페이스를 구현하는 구체적인 클래스..
자바 디자인 패턴 튜토리얼 - 자바 디자인 패턴 - 싱글 톤 패턴 싱글톤 패턴은 창조적 인 패턴입니다.이 패턴은 객체를 만드는 단일 클래스 만 포함합니다.클래스는 단일 객체 만 생성되도록합니다.클래스는 유일한 객체에 액세스하는 방법을 제공합니다.예를 들어 사용자 인터페이스를 디자인 할 때 주 응용 프로그램 창이 하나만있을 수 있습니다. 싱글톤 패턴을 사용하여 MainApplicationWindow 객체의 인스턴스가 하나만 존재하도록 할 수 있습니다.예제다음 코드는 MainWindow 클래스를 생성합니다.MainWindow 클래스는 자신의 생성자를 private로 가지고 있으며 정적 인 인스턴스를 가지고 있습니다.MainWindow 클래스는 외부에 정적 인스턴스를 가져 오는 정적 메서드를 제공합니다.Main, 데모 클래스는 MainWindow 클래스를 사용하여 MainW..
자바 디자인 패턴 튜토리얼 - 자바 디자인 패턴 - 빌더 패턴 빌더 패턴은 간단한 객체를 사용하여 복잡한 객체를 만드는 데 사용됩니다. 작고 단순한 객체로부터 단계적으로 더 큰 객체를 만듭니다.빌더 패턴은 또 하나의 창조적 패턴입니다.예를 들어, 응용 프로그램의 기본 창으로 창을 만들 때 메뉴와 도구 모음을 만든 다음 메뉴와 도구 모음을 추가해야합니다.만들려는 각 창에 대해 빈 창을 만들고, 메뉴를 만들고, 도구 모음을 만들고, 메뉴와 도구 모음을 창에 설치해야합니다.빌더 패턴을 사용하여 윈도우를 만드는 방법의 구현을 숨길 수 있습니다.예제class Menu { } class ToolBar { } class MainWindow { Menu menu; ToolBar toolBar; public Menu getMenu() { return menu; } public vo..
자바 디자인 패턴 튜토리얼 - 자바 디자인 패턴 - 프로토 타입 패턴 프로토 타입 패턴은 창조적 인 패턴 중 하나입니다.프로토 타입 패턴은 더 나은 성능으로 복제 객체를 만드는 데 도움이됩니다.프로토 타입 패턴에서 새 객체를 만드는 대신 기존 객체의 복제본이 반환됩니다.새 객체를 만드는 데 드는 비용이 비싸고 리소스 집약적 인 경우 프로토 타입 디자인 패턴을 사용합니다.예제다음 코드는 프로토 타입 패턴을 사용하여 객체를 만드는 방법을 보여줍니다.처음에 Cloneable 인터페이스를 구현하는 Shape 추상 클래스를 작성합니다.abstract class Shape implements Cloneable { private String id; protected String type; abstract void draw(); public String getType(){ return ..
자바 디자인 패턴 튜토리얼 - 구조 설계 패턴 - 어댑터 패턴 우리는 실생활에서 어댑터를 많이 사용합니다. 예를 들어, 메모리 카드 어댑터는 컴퓨터가 한 종류의 메모리 카드만 지원하고 다른 종류의 메모리카드가 컴퓨터와 호환되지 않기 때문에 메모리 카드와 컴퓨터를 연결하는 데 사용됩니다.어댑터는 호환되지 않는 두 엔터티 사이의 변환기입니다. 그래서 어댑터 패턴은 구조 패턴입니다.자바 디자인 패턴에서 어댑터 패턴은 호환되지 않는 두 인터페이스 사이의 다리 역할을합니다.어댑터 패턴을 사용하여 호환되지 않는 두 인터페이스를 통합 할 수 있습니다.예제먼저 미디어 파일을 재생할 Player 인터페이스를 만듭니다.MyPlayer는 어댑터이며 미디어 파일 재생의 인터페이스를 통합합니다.interface Player { public void play(String type, Stri..
자바 디자인 패턴 튜토리얼 - 구조 설계 패턴 - 브릿지 패턴 브릿지 패턴은 구현과 정의를 분리합니다. 이런 패턴을 구조적인 패턴이라 합니다.이 패턴은 브리지 역할을하는 인터페이스를 포함합니다. 브릿지는 구상 클래스를 인터페이스 구현으로부터 독립시킵니다.두 가지 유형의 클래스는 서로 영향을주지 않고 변경 될 수 있습니다.예제 interface Printer { public void print(int radius, int x, int y); } class ColorPrinter implements Printer { @Override public void print(int radius, int x, int y) { System.out.println("Color: " + radius +", x: " +x+", "+ y +"]"); } } class BlackPrinter..
자바 디자인 패턴 튜토리얼 - 구조 설계 패턴 - 필터 / 기준 패턴 필터 패턴은 다른 기준을 사용하여 객체를 필터링합니다.기준은 논리 연산을 통해 함께 연결될 수 있습니다.필터 패턴은 구조적 패턴입니다.예제 import java.util.List;import java.util.ArrayList;class Employee { private String name; private String gender; private String retireStatus; public Employee(String name, String gender, String r) { this.name = name; this.gender = gender; this.retireStatus = r; } public String getName() { return name; } public String getGe..

반응형