Jadi saya memiliki layanan web yang memiliki sesuatu seperti di getAccount
mana ia akan mengembalikan pengenal ke akun jika mendapatkannya, selain melemparkan pengecualian. Klien akan selalu ingin membuat akun jika pengecualian dilemparkan dengan info yang sama dengan yang dilakukan.
Saya membuat perpustakaan praktis untuk klien yang akan menangani semua panggilan layanan web di dalamnya sehingga mereka tidak perlu tahu bagaimana melakukan panggilan itu sendiri.
Apa yang saya pikirkan adalah di perpustakaan ini jika saya membuat akun getAccount(accountName)
yang akan mendapatkan akun jika ada, dan jika tidak maka buatlah dan kembalikan info, apakah itu hal yang buruk untuk dilakukan? Haruskah saya serahkan pada klien untuk menangani pengecualian atau cukup beri nama seperti getOrCreateAccount? Apakah itu penting?
Apakah praktik yang buruk untuk membuat sesuatu dalam operasi dapatkan?
acquire
, like acquireAccount
. Itu tidak memiliki makna yang ada dalam protokol utama yang saya temui, dan memiliki cincin imperatif yang cocok untuknya. "Lakukan apa yang harus kamu lakukan untuk mendapatkan salah satu dari ini untukku. Minta, buat, buat palsu, curi, aku tidak peduli, ambilkan aku satu atau mati coba."
getSomething()
adalah untuk getter, dan setSomething()
untuk setter. Imo apa pun yang melakukan sesuatu yang lebih intelektual harus dipanggil sesuatu yang lain, yaitu fetchSomething
, obtainSomething
, computeSomething
, atau doSomethingElse
dll
getOrCreateAccount
atau serupa.