ฉันมีคลาส 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.
}
}
ฉันไม่แน่ใจว่าจากมุมมองการออกแบบทำให้เกิดความแตกต่างหรือมีเหตุผลว่าทำไมวิธีการหนึ่งดีกว่าวิธีอื่น