คืออะไร Anti-Corruption Layer
การแยกจากโมเดลข้อมูลภายนอก
Anti-Corruption Layer (ACL)
Anti-Corruption Layer เป็นรูปแบบสถาปัตยกรรมจาก Domain-Driven Design (DDD) ที่ปกป้องโมเดลโดเมนของคุณจากอิทธิพลของระบบภายนอกผ่านชั้นการแปล
ทำไมจึงจำเป็น
| ปัญหา | วิธีแก้ | |-------|--------| | โมเดลภายนอกแตกต่างจากภายใน | ACL แปลข้อมูล | | ระบบเก่าที่มี API ล้าสมัย | ปรับตัวโดยไม่เปลี่ยนแกนหลัก | | การรวมบริการของบุคคลที่สาม | แยกการพึ่งพา | | การย้ายไปสถาปัตยกรรมใหม่ | การเปลี่ยนแปลงอย่างค่อยเป็นค่อยไป |
ส่วนประกอบของ ACL
- Translator — การแปลงข้อมูลระหว่างโมเดล
- Facade — อินเทอร์เฟซที่ง่ายขึ้นสำหรับระบบภายนอก
- Adapter — การปรับโปรโตคอลและรูปแบบ
- Gateway — จุดเข้าสำหรับคำขอภายนอก
เมื่อไหร่ควรใช้
- การรวมระบบเก่า
- การทำงานกับ API เวอร์ชันต่างๆ
- การเปลี่ยนผ่านระหว่างไมโครเซอร์วิส
- การป้องกันจากการเปลี่ยนแปลงระบบภายนอก
ข้อดี
- ความบริสุทธิ์ของโมเดลโดเมน
- ความเป็นอิสระจากการเปลี่ยนแปลงภายนอก
- ความสามารถในการย้ายอย่างค่อยเป็นค่อยไป
- ความสามารถในการทดสอบตรรกะทางธุรกิจ