Spring กับ Service Layer ครับ

Posted January 27, 2009 at Spring66
ขออภัยทุกท่านที่ปล่อยให้รอตอนนี้ sourcecode พร้อมแล้วที่ google code ครับ ตอนล่าสุดนี้จะเป็นเรื่องเกี่ยวกับ Service เอ่ามีคนสงสัยว่าได้ Service เนี่ยมันมีไว้ทำมะเขืออะไรในเมื่อเราสามารถต่อตรงไปที่ DAO ได้เลย คำตอบคือจะมีหรือไม่มีแล้วแต่ชอบ สำหรับผมมีไว้ก็ดีนะครับ *อันดับแรก Controller เราจะไม่มีอะไรเยอะเกินไปลำพังงานใน Contoller เองก็เยอะพอดูอยู่แล้วในบางเคส ยังจะต้องไป Depend On กับ DAO อีกสี่ห้าตัว วุ่นวายไปหน่อยไหมครับ **อันดับที่สองเรื่อง reusable เราสามารถจัดกลุ่มยกตัวอย่างเช่น เราสามารถสร้าง service ที่ทำงานเกี่ยวกับ User ที่ถูกใช้งานบ่อยๆเก็บไว้แล้วเมื่อใดที่มีคนต้องการใช้ค่อย inject เข้าไป ให้ Controller ซึ่งจะทำให้ Service นั้นๆถูกนำไปใช้ได้บ่อยๆและหลายๆที่ ***อันดับสามเรื่อง Transaction เพราะจากการเขียน code ที่ผ่านมาเราจะเห็นว่าเราไม่ได้พูดหรือเขียน code ที่เกี่ยวข้องกับ Transaction เลยแม้แต่น้อย ดังนั้นก่อนอื่นเราต้องมาทำความเข้าใจกันก่อน เนื่องจากบ่อยครับที่ 1 operation ต้องทำการทำงานมากว่า 1 ตารางดังนั้นเราจะทำการกำหนด scope ว่า transaction ของ operation [...]