بررسی Bad code smell ها: متد حسود یا Feature envy
نویسنده: فرید بکران
تاریخ: ۱۳۹۶/۰۵/۱۳ ۱۳:۱۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
public class OrderItem
{
public int Quantity { get; set; }
public decimal UnitPrice { get; set; }
public decimal Discount { get; set; }
}
public class InvoiceItemGenerator
{
private readonly OrderItem _orderItem;
public InvoiceItemGenerator(OrderItem orderItem)
{
_orderItem = orderItem;
}
public dynamic Generate()
{
dynamic invoiceItem = new ExpandoObject();
invoiceItem.Amount = _orderItem.Quantity * _orderItem.UnitPrice - _orderItem.Discount;
return invoiceItem;
}
} public class OrderItem
{
public int Quantity { get; set; }
public decimal UnitPrice { get; set; }
public decimal Discount { get; set; }
public decimal GetFinalAmount()
{
return Quantity * UnitPrice - Discount;
}
}
public class InvoiceItemGenerator
{
private readonly OrderItem _orderItem;
public InvoiceItemGenerator(OrderItem orderItem)
{
_orderItem = orderItem;
}
public dynamic Generate()
{
dynamic invoiceItem = new ExpandoObject();
invoiceItem.Amount = _orderItem.GetFinalAmount();
return invoiceItem;
}
}