概要
Singleton パターンは、インスタンスが1つだけしか存在しないことを保証する、デザインパターンの一つである。
ソースコード
Singleton.m
classdef Singleton < handle
properties (Access = private, Constant)
singleton = Singleton()
end
methods (Access = private)
function obj = Singleton()
arguments (Output)
obj Singleton
end
disp('インスタンスを生成しました。');
end
end
methods (Access = public, Static)
function obj = getInstance()
obj = Singleton.singleton;
end
end
end
main.m
function main
disp('Start.');
obj1 = Singleton.getInstance();
obj2 = Singleton.getInstance();
if isequal(obj1, obj2)
disp('obj1とobj2は同じインスタンスです。');
else
disp('obj1とobj2は同じインスタンスではありません。');
end
disp('End.');
end
実行結果
>> main
Start.
インスタンスを生成しました。
obj1とobj2は同じインスタンスです。
End.