본문 바로가기

전체 글

(229)
[자바] 싱글톤이 보장받지 않는 상황 package com.devjones.web.singleton; public class Singleton { private static Singleton instance = null; private Singleton() {}; public static Singleton getInstance() { if(instance == null) { instance = new Singleton(); } return instance; } } 위와 같은 싱글톤 객체가 있을 때 다음과 같은 코드로 싱글톤이 멀티쓰레드 환경에서 단일객체를 보장받을수 없음을 보일 수 있다. package com.devjones.web.singleton; public class Main extends Thread { public static v..
[자바] builder 패턴 package builder; public abstract class Builder { public abstract void makeTitle(String title); public abstract void makeString(String str); public abstract void makeItems(String[] items); public abstract void close(); } package builder; public class Director { private Builder builder; public Director(Builder builder) { this.builder = builder; } public void construct() { builder.makeTitle("Greeti..
[자바] 장식자 패턴 package decorator; /** * 복수 행으로 구성되는 문자열을 표시하기 위한 추상 클래스. * @author dev-jones * */ public abstract class Display { /** * 각각 가로의 문자수와 세로의 문자수를 얻기 위한 메소드 */ public abstract int getColumns(); public abstract int getRows(); /** * 입력받은 row의 문자열을 리턴 * @param row * @return */ public abstract String getRowText(int row); public final void show() { for(int i = 0; i < getRows(); i++) { System.out.println(g..