Una volta ho letto (penso che fosse in "Programming Pearls") che si dovrebbero usare i template invece di costruire la stringa attraverso l'uso della concatenazione.
Ad esempio, considera il modello sottostante (usando la libreria del rasoio C #)
<in a properties file>
Browser Capabilities
Type = @Model.Type
Name = @Model.Browser
Version = @Model.Version
Supports Frames = @Model.Frames
Supports Tables = @Model.Tables
Supports Cookies = @Model.Cookies
Supports VBScript = @Model.VBScript
Supports Java Applets = @Model.JavaApplets
Supports ActiveX Controls = @Model.ActiveXControls
e successivamente, in un file di codice separato
private void Button1_Click(object sender, System.EventArgs e)
{
BrowserInfoTemplate = Properties.Resources.browserInfoTemplate; // see above
string browserInfo = RazorEngine.Razor.Parse(BrowserInfoTemplate, browser);
...
}
Da un punto di vista dell'ingegneria del software, come è meglio di un concatenamento di stringhe equivalente, come di seguito:
private void Button1_Click(object sender, System.EventArgs e)
{
System.Web.HttpBrowserCapabilities browser = Request.Browser;
string s = "Browser Capabilities\n"
+ "Type = " + browser.Type + "\n"
+ "Name = " + browser.Browser + "\n"
+ "Version = " + browser.Version + "\n"
+ "Supports Frames = " + browser.Frames + "\n"
+ "Supports Tables = " + browser.Tables + "\n"
+ "Supports Cookies = " + browser.Cookies + "\n"
+ "Supports VBScript = " + browser.VBScript + "\n"
+ "Supports JavaScript = " +
browser.EcmaScriptVersion.ToString() + "\n"
+ "Supports Java Applets = " + browser.JavaApplets + "\n"
+ "Supports ActiveX Controls = " + browser.ActiveXControls
+ "\n"
...
}