
Clean Architecture
สถาปัตยกรรมแบบเลเยอร์, CQRS, MediatR, repository pattern, การแยกความรับผิดชอบ, ความสามารถในการทดสอบ
1หลักการของ Clean Architecture คืออะไร?
หลักการของ Clean Architecture คืออะไร?
คำตอบ
Clean Architecture จัดระเบียบโค้ดเป็นเลเยอร์ที่ซ้อนกันเป็นวงกลม โดยที่การพึ่งพา (dependencies) ชี้เข้าด้านในเท่านั้น (ไปยัง Domain) เลเยอร์ Domain (เอนทิตี กฎทางธุรกิจ) ไม่มีการพึ่งพา infrastructure เลเยอร์ภายนอก (UI, Database, API) พึ่งพา abstraction ของ Domain ผ่าน Dependency Inversion สิ่งนี้รับประกันความสามารถในการทดสอบ ความเป็นอิสระจาก framework และความสามารถในการบำรุงรักษาโค้ด
2เลเยอร์หลักของ Clean Architecture มีอะไรบ้าง?
เลเยอร์หลักของ Clean Architecture มีอะไรบ้าง?
คำตอบ
Clean Architecture มี 4 เลเยอร์หลัก: Domain (เอนทิตี กฎทางธุรกิจ interface ของ repository), Application (use case, DTO, ลอจิกของแอปพลิเคชัน), Infrastructure (การ implement repository, DbContext, บริการภายนอก) และ Presentation (API controller, UI) Domain อยู่ตรงกลางและไม่พึ่งพาสิ่งใด Application พึ่งพา Domain ส่วน Infrastructure และ Presentation พึ่งพา Application และ Domain
3รูปแบบ CQRS คืออะไร?
รูปแบบ CQRS คืออะไร?
คำตอบ
CQRS (Command Query Responsibility Segregation) แยกการดำเนินการอ่าน (Queries) และเขียน (Commands) ออกจากกัน Commands จะเปลี่ยนสถานะและคืนค่า void หรือผลลัพธ์อย่างง่าย ส่วน Queries จะคืนค่าข้อมูลโดยไม่เปลี่ยนสถานะ การแยกนี้ช่วยให้สามารถปรับแต่งการอ่าน (Dapper, view SQL) และการเขียน (EF Core, aggregate DDD) ได้อย่างอิสระ และปรับขนาดแต่ละด้านได้แตกต่างกัน
บทบาทของ MediatR ใน Clean Architecture คืออะไร?
จะกำหนด Command ใน MediatR อย่างไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ .NET อื่นๆ
พื้นฐาน C#
LINQ & Delegates
พื้นฐานสำคัญของภาษา C#
พื้นฐาน ASP.NET Core
วงจรชีวิตของ request ใน ASP.NET Core
Configuration & Settings
วงจรชีวิตของแอปพลิเคชัน
Dependency Injection
Entity Framework Core
Minimal APIs
การพัฒนา Web API
Async ใน ASP.NET Core
Authentication & Authorization
HttpClient & Networking
การซีเรียลไลซ์ JSON
Entity Framework Core ขั้นสูง
ฟีเจอร์ขั้นสูงของ C#
Logging, Monitoring & Observability
Unit Testing และ xUnit
การทดสอบแบบบูรณาการ
Docker & Containerization
การจัดการแพ็กเกจ NuGet
Memory Management & GC
การเขียนโปรแกรมแบบรีแอกทีฟ
Async/await และรูปแบบ
.NET Design Patterns
การเพิ่มประสิทธิภาพการทำงาน
ความปลอดภัยและ Best Practices
SignalR และเรียลไทม์
สถาปัตยกรรม Microservices
เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี