Proxyパターン
Proxy パターン - Wikipedia
インスタンスの遅延生成
必要になってから生成を始めたり、Proxyクラスの生成したら作り始めたり。
Proxyクラスと遅延生成クラスの操作は別に共通でなくてもいいと思う。
//何かのデバイス操作Interface public interface IDeviceOperation { void setName(String name); void run(); void terminate(); } //XXXデバイスのプロキシクラス public class XXXDeviceProxy : IDeviceOperation { private device; public Device() { //スレッドを起動し、そこでXXXデバイスクラスインスタンスを生成する。 } public void run() { //デバイスの起動。デバイスが生成完了していない場合は例外を発生させる。 } public void terminate() { //終了処理。デバイスが生成完了していない場合は例外を発生させる。 } }