Bir web içerik yönetim sisteminde bir içerik türünü temsil eden bir C # sınıfı var.
Web içerik düzenleyicisinin, nesnenin nasıl görüntülendiğine ilişkin bir HTML şablonu girmesine izin veren bir alanımız var. Temel olarak nesne özellik değerlerini HTML dizesine koymak için gidon sözdizimini kullanır:
<h1>{{Title}}</h1><p>{{Message}}</p>
Sınıf tasarımı açısından, biçimlendirilmiş HTML dizesini (ikame ile) bir özellik veya yöntem olarak göstermeli miyim?
Özellik olarak örnek:
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.
}
}
Yöntem olarak örnek:
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.
}
}
Tasarım açısından bir fark yaratıyor mu yoksa bir yaklaşımın diğerinden daha iyi olmasının nedenleri var mı?