본문 바로가기

Computer Science/Theory-Java3

[Java] 자바 디자인패턴 #3 - Decorator Pattern 3. Decorator Pattern : - 객체에 추가 요소를 동적으로 더할 수 있다. - 데코레이터 패턴을 사용하면 서브 클래스를 만드는 경우에 비해 훨씬 유연하게 기능을 확장할 수 있다. - 특정 요소의 형식을 알아내서 그 결과를 바탕으로 작업해야 하는 코드에는 적합하지 않다. - 데코레이터는 팩토리나 빌더 같은 다른 패턴을 써서 사용되는 경우가 많다.[출처] 디자인 패턴 : 데코레이터 패턴(Decorator Pattern)|작성자 jidon333 1. Beverage.java(Abstract Class) 123456789101112131415161718package chap3; public abstract class Beverage { String desc = "No name"; public St.. 2016. 6. 27.
[Java] 자바 디자인패턴 #2 - Observer Pattern 2. Observer Pattern : 특정 데이터를 여러종류의 객체에서 참조하고자 할때, 특정 데이터가 갱신된 것을 문제없이 알림받고 사용할 수 있는 디자인. 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고, 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의한다. >> 갱신된 정보를 효과적으로 분산 처리하는데 유용하다. 예시) WeatherData 1. Observer.java 12345package chap2;public interface Observer { public void update(float temp, float humid, float pressure);} Colored by Color Scriptercs 2. Subject.java 1.. 2016. 6. 27.
[Java] 자바 디자인패턴#1 - Strategy Pattern 1. Strategy Pattern 직역하면 전략적 패턴으로, 자바 베이직 강의에서 배우고 넘어가는 Interface의 상속,확장성을 이용한 패턴이다. 객체지향 언어의 특성인 상속을 활용하여 코드를 유연하게 관리할 수 있다. Interface 강의 시에 언급되는 대표적인 예로 스타크래프트가 있다. public class Unit {private Weapon weapon;public void setWeapon(Weapon weapon) {this.weapon = weapon;}public void attack(){if(weapon == null){System.out.println("No Weapon!");}else {weapon.attack();}}} 2016. 6. 27.