के बीच अंतर मैंने कुछ संबंधित प्रश्नों को देखा लेकिन फिर भी मुझे एक भंडार और सेवा परत के बीच बहुत अंतर दिखाई नहीं देता है। तो उदाहरण दिया गया मुझे लगता है कि यह इस तरह दिखना चाहिए, अगर नहीं, तो कृपया मुझे बताएं क्यों?रिपोजिटरी और सर्विस लेयर
public interface ProductRepository extends CrudRepository<Product, Long>{
public List<Product> findByName(String name);
public List<Product> findByPrice(Double price);
}
public interface ProductService {
public List<Product> findAll();
public Product findById(Long id);
public Product save(Product product);
public void delete(Product product);
public List<Product> findByName(String name);
public List<Product> findByPrice(Double price);
}
और उत्पाद सेवा का कार्यान्वयन विधियों को लागू करने के लिए ProductRepository का उपयोग करेगा। जैसा कि मैं http://docs.spring.io/spring-data/jpa/docs/1.3.0.RELEASE/reference/html/jpa.repositories.html से समझता हूं, भंडार से विधियों के लिए क्वेरी स्वतः उत्पन्न होती हैं। मेरे उदाहरण में विधियों को रिपोजिटरी और सेवा में दोहराया जाता है, इसलिए कृपया बताएं कि क्या/क्यों बदला जाना चाहिए?
ठीक है, तो मेरे उदाहरण में प्रतिनिधि और सेवा परत सही हैं? और अगर मेरे पास कुछ विधियां हैं जैसे मान्य (उत्पाद पी) यह सेवा परत में जाना चाहिए? – April
यह मेरे लिए ठीक लग रहा है। यह कहना मुश्किल है, क्योंकि वे केवल इंटरफेस हैं, लेकिन इस विचार के आधार पर कि आपका रेपो क्रूडरेपो बढ़ाता है, जो मुझे लगता है कि कुछ सहेजने/अपडेट/हटाए गए कार्यों को सही लगता है। सत्यापन के लिए, हाँ, मैं सेवा परत पर किया जा रहा होगा। आम तौर पर हमारे पास एक मध्यवर्ती व्यापार तर्क होता है जो इस तरह की चीजों को संभालता है। इसलिए, उदाहरण के लिए, सेवा व्यवसाय तर्क कहती है जो रेपो कहती है, लेकिन यह परियोजना के आकार पर निर्भर है। – JasonWilczak