サンプル
委譲を利用した Adapter パターン
http://blogs.yahoo.co.jp/dk521123/33200578.htmlで利用したjava.util.loggingを題材として使う
ILogger.java
public interface ILogger { public void writeError(String value); public void writeWarning(String value); public void writeInfo(String value); }
LogAdapter.java
import java.util.logging.Logger; public class LogAdapter implements ILogger { private final Logger logger = Logger.getLogger("LogAdapter"); public void writeError(String value) { this.logger.severe(value); } public void writeWarning(String value) { this.logger.warning(value); } public void writeInfo(String value) { this.logger.info(value); } }
Main.java
* 利用者public class Main { public static void main(String[] args) { LogAdapter logAdapter = new LogAdapter(); logAdapter.writeError("Error"); logAdapter.writeWarning("Warning"); logAdapter.writeInfo("Info"); } }
出力結果
4 30, 2014 10:55:25 午後 com.dkcom.adapter.LogAdapter writeError 重大: Error 4 30, 2014 10:55:25 午後 com.dkcom.adapter.LogAdapter writeWarning 警告: Warning 4 30, 2014 10:55:25 午後 com.dkcom.adapter.LogAdapter writeInfo 情報: Info
参考文献
http://www.syboos.jp/sysdesign/doc/20080611113045293.html* 実用例を載せてある
http://telecastravinsky.blog.fc2.com/blog-entry-4.html
http://www.atmarkit.co.jp/fjava/javatips/141java031.html