Apa perbedaan antara repositori dan layanan? Sepertinya saya tidak memahaminya.
Saya berbicara tentang akses data melalui lapisan akses data, biasanya dengan linq ke sql.
Sangat sering saya melihat repositori dengan metode CRUD sederhana, dan layanan dengan metode bisnis yang lebih spesifik.
Kami dapat mengambil posting blog ini sebagai contoh. Jika Anda melihat antarmuka di bagian bawah (gambar), ia memiliki dua repositori dan dua layanan. Bagaimana seseorang tahu apa yang harus diletakkan di mana?
Seperti yang saya katakan, repositori tampaknya lebih untuk operasi mirip CRUD dan Layanan lebih berorientasi bisnis.
Terima kasih
design-patterns
alexn
sumber
sumber
Jawaban:
Repositori pada dasarnya adalah fasad untuk ketekunan yang menggunakan semantik gaya Koleksi (Tambah, Perbarui, Hapus) untuk menyediakan akses ke data / objek. Ini adalah cara memisahkan cara Anda menyimpan data / objek dari aplikasi lainnya.
Sebuah layanan menyediakan koordinasi atau "layanan" lain yang diperlukan untuk mengoperasikan aplikasi Anda. Mereka sangat berbeda karena Layanan biasanya tidak tahu cara mengakses data dari persistensi, dan repositori biasanya hanya mengakses data / objek untuk layanan apa pun yang mungkin Anda miliki.
sumber
repository
=collection
daribackbone.js
ataurepository
=service
dariangular
?Repositori adalah tempat penyimpanan data. Layanan inilah yang memanipulasi data.
Dalam perbandingan situasi dunia nyata, jika uang Anda disimpan dalam lemari besi di bank, lemari besi itu adalah tempat penyimpanannya. Teller yang menyetorkan, menarik, dll adalah layanan.
sumber
Saya akan mengatakan sebagai percobaan pertama, dalam arti umum (sampai Anda memberikan lebih banyak konteks jika Anda memilikinya):
sumber