Back to Top

Monthly Archives: 7月 2016

Visual Stadio Community2015クラス図(UML)作成

Visual Stadio CommunityにはUML図(クラス図)作成する機能があります。

起動方法

ソリューションエクスプローラーで右クリックするとメニューの中に「ビュー(W)」-「クラス ダイアグラムで表示(V)」が出ます。

それを選択、自動で現在のソースよりクラス図を作成してくれます。

またその逆、クラス図よりソースを作成してくれます。

 

C# シングルトンパターン

アプリケーション内で1つしか無い事を保証する生成方法(Singleton)を記載します。

グローバル変数などアプリケーション内で1つで良い場合があります。その場合にいくつもオブジェクトを作成されては困ります。のでそれを保証する書き方です。(必要性があるかといわれると・・・)

アプリケーションを起動した際の時間は1つで、次回起動するまで変わりません。それを例にします。

シングルトン例

unsafe class GlobalTime
{
    private static GlobalTime _Instance;

    /// <summary>
    /// コンストラクタ
    /// </summary>
    protected GlobalTime()
    {
        _Instance = null;
        _startDateTime = DateTime.Now;
    }

    /// <summary>
    /// インスタンスの取得
    /// </summary>
    /// <returns></returns>
    public static GlobalTime getInstance()
    {
        if (_Instance == null)
        {
            _Instance = new GlobalTime();
        }

        return _Instance;
    }

    /// <summary>
    /// 開始日時の取得
    /// </summary>
    /// <returns></returns>
    public DateTime getStartDateTime()
    {
        return _startDateTime;
    }

    private DateTime _startDateTime;
}

上記ではコンストラクタをprotectedで保護します。のでnewでの生成ができません。

インスタンスは、getInstance()で取得して使います。

呼び出し側

//インスタンスの取得
GlobalTime gt = GlobalTime.getInstance();

//public メソッドの呼び出し
DateTime dt = gt.getStartDateTime();