Tôi có một lớp C # đại diện cho một loại nội dung trong hệ thống quản lý nội dung web.
Chúng tôi có một trường cho phép trình soạn thảo nội dung web nhập mẫu HTML để biết cách hiển thị đối tượng. Về cơ bản, nó sử dụng cú pháp tay cầm để thay thế các giá trị thuộc tính đối tượng vào chuỗi HTML:
<h1>{{Title}}</h1><p>{{Message}}</p>
Từ góc độ thiết kế lớp, tôi có nên hiển thị chuỗi HTML được định dạng (có thay thế) dưới dạng một thuộc tính hoặc phương thức không?
Ví dụ như tài sản:
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.
}
}
Ví dụ như phương thức:
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.
}
}
Tôi không chắc chắn từ quan điểm thiết kế, nó có tạo ra sự khác biệt hay có lý do tại sao một cách tiếp cận tốt hơn phương pháp kia không?