Eu costumo encontrar situações em que preciso adicionar ou editar um item e, às vezes, uso métodos separados para adicionar e editar; outras vezes, combino-os em um único método.
Um método é preferido em relação ao outro? Se sim, por quê?
public void AddItem()
{
ShowEditingPopup(new Item(), "Add Item");
}
public void EditItem(Item item)
{
ShowEditingPopup(item, "Edit Item");
}
OU
public void EditItem(Item item)
{
ShowEditingPopup(
(item ?? new Item()),
string.format("{0} Item", (item == null ? "Add " : "Edit "))
);
}
onde ShowEditingPopupé definido como
public void ShowEditingPopup(object popupDataContext, string popupTitle)
{
PopupDataContext = popupDataContext;
PopupTitle = popupTitle;
IsPopupVisible = true;
}
Editar: Apenas para esclarecer, não estou salvando o item, estou abrindo-o para edição. Eu quase sempre implemento um método Save genérico para salvar no banco de dados
Edição nº 2: exemplos de código editados para refletir com mais precisão o tipo de situação à qual estou me referindo
EditItem.
Savemétodo é perfeitamente válido programmers.stackexchange.com/q/104404/1130
EditOrAddItem, em vez de apenasEditItem.