웹 콘텐츠 관리 시스템의 콘텐츠 유형을 나타내는 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.
}
}
디자인 관점에서 차이가 나거나 한 접근법이 다른 접근법보다 더 좋은 이유가 있는지 잘 모르겠습니다.