بازسازی کد: Encapsulate collection - ساده و خیلی مهم
نویسنده: فرید بکران
تاریخ: ۱۳۹۷/۰۹/۱۱ ۱۱:۲۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
در پیاده سازی ابتدایی، متدهای getter و setter عادی را مشاهده میکنیم که خیلی معمول هستند (با پیاده سازیهای مختلف در نگارشهای مختلف #C) .
اما چرا بهتر است لیستی فقط خواندنی را از طریق متد GetCourses برگردانیم؟
public class Refactoring
{
private List<object> objects;
public Refactoring()
{
objects = new List<object>();
}
public IReadOnlyList<object> Objects { get { return objects.AsReadOnly(); } }
} public IReadOnlyList<object> Objects { get { return objects.ToList(); } } public IReadOnlyList<object> Objects { get { return objects.AsReadOnly(); } }