У мене є клас C #, який представляє тип вмісту в системі управління веб-контентом.
У нас є поле, яке дозволяє редактору веб-вмісту вводити HTML-шаблон для відображення об’єкта. В основному він використовує синтаксис рулі для заміни значень властивостей об'єкта в HTML-рядок:
<h1>{{Title}}</h1><p>{{Message}}</p>
З точки зору дизайну класу, чи слід виставляти відформатований рядок HTML (із заміною) як властивість чи метод ?
Приклад як властивість:
public class Example
{
private string _template;
public string Title { get; set; }
public string Message { get; set; }
public string Html
{
get
{
return this.ToHtml();
}
protected set { }
}
public Example(Content content)
{
this.Title = content.GetValue("title") as string;
this.Message = content.GetValue("message") as string;
_template = content.GetValue("template") as string;
}
private string ToHtml()
{
// Perform substitution and return formatted string.
}
}
Приклад як метод:
public class Example
{
private string _template;
public string Title { get; set; }
public string Message { get; set; }
public Example(Content content)
{
this.Title = content.GetValue("title") as string;
this.Message = content.GetValue("message") as string;
_template = content.GetValue("template") as string;
}
public string ToHtml()
{
// Perform substitution and return formatted string.
}
}
Я не впевнений, що з точки зору дизайну це має значення або є причини, чому один підхід кращий за інший?