34 lines
784 B
C#
34 lines
784 B
C#
namespace Stary.Evo
|
|
{
|
|
public interface IData: IBelongToArchitecture,ICanSetArchitecture,ICanGetUtility ,ICanSendEvent
|
|
{
|
|
void Init();
|
|
void Dispose();
|
|
}
|
|
|
|
public abstract class AbstractData : IData
|
|
{
|
|
private IArchitecture mArchitecture;
|
|
//接口阉割,子类重写无法用子类调用
|
|
IArchitecture IBelongToArchitecture.GetArchitecture()
|
|
{
|
|
return mArchitecture;
|
|
}
|
|
|
|
void ICanSetArchitecture.SetArchitecture(IArchitecture architecture)
|
|
{
|
|
mArchitecture = architecture;
|
|
}
|
|
|
|
void IData.Init()
|
|
{
|
|
OnInit();
|
|
}
|
|
|
|
public abstract void Dispose();
|
|
|
|
//数据初始化
|
|
protected abstract void OnInit();
|
|
|
|
}
|
|
} |