Menentukan Tanggungjawab Mengendalikan Keadaan dalam Pertanyaan Kompleks: Lapisan Perkhidmatan lwn. Pemeta Data
Dalam mengejar pengambilan dan manipulasi data, persoalannya timbul: siapa yang harus menanggung beban mengendalikan keadaan pertanyaan yang kompleks - pemeta data atau lapisan perkhidmatan?
Pemeta Data
Corak pemeta data menentukan antara muka yang mudah , dengan tanggungjawab utama ialah pengambilan data, penyimpanan dan pemadaman. Walau bagaimanapun, butiran pelaksanaannya tetap terbuka untuk tafsiran.
Walaupun antara muka minimalisnya, pemeta data boleh dilanjutkan untuk menggabungkan beberapa logik bersyarat, seperti mendapatkan semula objek berdasarkan pengecam atau nama pengarang tertentu.
Lapisan Perkhidmatan
Lapisan perkhidmatan, sebaliknya, bertindak sebagai perantara antara pengawal dan pemeta data. Ia boleh mengurangkan kerumitan pengendalian berbilang keadaan dengan memanggil kaedah yang lebih khusus secara terus, seperti BookDataMapper->getByAuthorAndPublisher().
Kelebihan Pengendalian Keadaan Lapisan Perkhidmatan
Sesetengah menyokong untuk mempunyai lapisan perkhidmatan menghuraikan syarat pertanyaan atas beberapa sebab:
Kelebihan Pengendalian Keadaan Pemeta Data
Yang lain lebih suka memusatkan logik bersyarat dalam pemeta data:
Pendekatan Optimum
Pendekatan optimum bergantung pada aplikasi khusus dan logik khusus domain. Walau bagaimanapun, beberapa garis panduan am boleh dipertimbangkan:
Atas ialah kandungan terperinci Lapisan Perkhidmatan lwn. Pemeta Data: Siapa Yang Harus Mengendalikan Syarat Pertanyaan Kompleks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!