我有一个大型 Webforms 应用程序。在整个应用程序的许多地方,我们在后面的代码中设置了超链接的导航 url。硬编码字符串文字似乎是个坏主意。
hlVideos.NavigateUrl = "/path/to/some/page.aspx";
这似乎也不是一个好主意,因为它可能要求我在需要它的每个页面上都有一个常量字符串:
private const string PathToSomePage = "/path/to/some/page.aspx";
hlVideos.NavigateUrl = PathToSomePage;
我考虑过一个包含一堆可以访问的 const 字符串的类。这似乎违反了开放/封闭原则,每次添加新页面时都要求我添加另一个常量。
public class UrlManager
{
public const string PathToSomePage = "/path/to/some/page.aspx";
public const string PathToSomeOtherPage = "/path/to/some/other/page.aspx";
public const string PathToYetAnotherPage = "/path/to/yet/another/page.aspx";
}
其他人是如何处理这个问题的?也许我过于复杂了,尽管我正在处理一百个左右的 url,并且有很多页面引用每个 url。