Regularmente encuentro situaciones en las que necesito agregar o editar un elemento, y a veces uso métodos separados para agregar y editar, y otras veces los combino en un solo método.
¿Se prefiere un método sobre el otro? Si es así, ¿por qué?
public void AddItem()
{
ShowEditingPopup(new Item(), "Add Item");
}
public void EditItem(Item item)
{
ShowEditingPopup(item, "Edit Item");
}
O
public void EditItem(Item item)
{
ShowEditingPopup(
(item ?? new Item()),
string.format("{0} Item", (item == null ? "Add " : "Edit "))
);
}
donde ShowEditingPopupse define como
public void ShowEditingPopup(object popupDataContext, string popupTitle)
{
PopupDataContext = popupDataContext;
PopupTitle = popupTitle;
IsPopupVisible = true;
}
Editar: solo para aclarar, no estoy guardando el elemento, lo estoy abriendo para editarlo. Casi siempre implemento un método Save genérico para guardar en la base de datos
Edición n. ° 2: ejemplos de código editados para que reflejen con mayor precisión el tipo de situación a la que me refiero
EditItem.
Savemétodo es perfectamente válido programmers.stackexchange.com/q/104404/1130
EditOrAddItem, en lugar de soloEditItem.