Topology
ดังที่ชื่อบ่งบอก modular monolith architecture style เป็น architecture แบบ monolithic ด้วยเหตุนี้ มันจึงถูก deploy เป็นซอฟต์แวร์หน่วยเดียว ไม่ว่าจะเป็นไฟล์ web archive (WAR), assembly เดียวใน .NET, ไฟล์ enterprise archive (EAR) ในแพลตฟอร์ม Java และอื่น ๆ เนื่องจาก modular monolith ถูกนับเป็น architecture แบบ domain-partitioned (จัดระเบียบตาม business domain แทนที่จะเป็นความสามารถเชิงเทคนิค) รูปทรง isomorphic ของมันจึงถูกนิยามว่าเป็น deployment unit เดียวที่มีฟังก์ชันการทำงานถูกจัดกลุ่มตามพื้นที่ domain . Figure 11-1 แสดงให้เห็น topology ทั่วไปของ modular monolith
เพื่อให้เห็นภาพธรรมชาติของการมุ่งเน้น domain ของ modular monolith ลองพิจารณา layered architecture แบบดั้งเดิม (ที่อธิบายไว้ใน Chapter 10 ) component ของมันถูกนิยามและจัดระเบียบตามความสามารถ เชิงเทคนิค : Presentation, Business และ Persistence layer และอื่น ๆ ตัวอย่างเช่น presentation logic สำหรับดูแลข้อมูลโปรไฟล์ลูกค้าอาจแทนด้วย component ที่มี namespace com.app.presentation.customer.profile โหนดที่สามใน namespace แทน concern เชิงเทคนิค ของ layer นั้น (ในกรณีนี้คือ Presentation layer)
Figure 11-1. ด้วย modular monolith architecture style ฟังก์ชันการทำงานจะถูกจัดกลุ่มตามพื้นที่ domain
ในทางกลับกัน component ของ modular monolith จะถูกจัดระเบียบตาม domain เป็นหลัก ด้วยเหตุนี้ ใน modular monolith architecture component สำหรับดูแลโปรไฟล์ลูกค้าแบบเดียวกันจะแทนด้วย namespace com.app.customer.profile ในที่นี้ โหนดที่สามของ namespace อ้างอิงถึง concern ด้าน domain แทนที่จะเป็นเชิงเทคนิค ขึ้นอยู่กับความซับซ้อนของ component นั้น namespace อาจถูกแบ่งเพิ่มเติมตาม concern เชิงเทคนิค หลังจาก concern ด้าน domain เช่น com.app.customer.profile.presentation หรือ com.app.customer.profile.business .