GameFramework摘录 - 2.访问器模式(Version、Logger)
访问器模式
Version、Logger等基础模块,功能相对固定但拥有几套不同的行为(如开发版本和正式版本不同),采用访问器模式,便于调整功能或复用
public static class Version
{
public interface IVersionHelper
{
string GameVersion { get; }
}
private static IVersionHelper s_VersionHelper = null;
public static string GameVersion {
get
{
if (s_VersionHelper == null)
{
return string.Empty;
}
return s_VersionHelper.GameVersion;
}
}
public static void SetVersionHelper(IVersionHelper versionHelper)
{
s_VersionHelper = versionHelper;
}
}
Version
类的公共属性都通过访问器进行访问,访问器可自定义
class MyVersionHelper : Version.IVersionHelper
{
public string GameVersion
{
get
{
return "test gameversion!";
}
}
}
static void Test()
{
Version.SetVersionHelper(new MyVersionHelper());
Console.WriteLine(Version.GameVersion); // test gameversion!
}
GameFrameworkLog
类相同
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构