asato <asato@ncfreak.com>
最終更新日 : 2002/9/26 (2002/9/26 より)
Singleton
考慮点
AspectJ を使った Singleton に関するテクニックの種類
暗黙の Singleton
適用可能性:
Printer printer = Printer.getInsatacne();下記で紹介しているサンプルコードの例では次のようにしてインスタンスを得ている (通常の new 演算子を使う場合と変化ない)。
Printer printer = new Printer();
サンプルコード:
package dp.singleton; public class Printer { }
package dp.singleton; public aspect PrinterAspect { pointcut newPrinter() : call( Printer.new() ); private static final Printer Printer.instance = new Printer(); Printer around() : newPrinter() { return Printer.instance; } }
package dp; import dp.singleton.*; public class Client { public static void main(String[] args) { Printer printer1 = new Printer(); Printer printer2 = new Printer(); System.out.println(printer1 == printer2); // true } }