เรากำลังจะเขียนแอปพลิเคชั่น WPF แรกของเราและเริ่มคุ้นเคยกับรูปแบบ MVVM เราได้สร้างแอปพลิเคชั่น Winform จำนวนมากและมีสถาปัตยกรรมที่ประสบความสำเร็จมากสำหรับเรา เรามีปัญหาเล็กน้อยในการแปลสถาปัตยกรรมนั้นหรือกำหนดว่าสถาปัตยกรรมบางอย่างของเราเหมาะสมกับรูปแบบ MVVM หรือไม่
ในอดีตเรามี Gui (exe หลัก) ที่สื่อสารกับ dll BusinessLogic BusinessLogic สื่อสารกับ DAL dll ผ่านเว็บเซอร์วิสและ DAL โต้ตอบกับ DB DAL, BusinessLogic และ GUI ล้วนอ้างถึง BusinessObjects dll เดียวกัน
การเปลี่ยนแปลงไปสู่ MVVM นั้นค่อนข้างตรงไปตรงมา Gui ของเราจะยังคงมีมุมมอง BusinessOjbects ของเราจะยังคงมีรูปแบบและ DAL ของเราจะยังคงมีปฏิสัมพันธ์กับฐานข้อมูล (แม้ว่าเทคโนโลยีในการใช้พวกเขาอาจเปลี่ยนแปลง)
สิ่งที่เราไม่แน่ใจคือองค์ประกอบ BusinessLogic ของเรา ในอดีตนี้จะให้ฟังก์ชั่นสำหรับ GUI เพื่อเรียกไปแล้วเติมการควบคุมในมุมมอง (เช่น. GetCustomerList ซึ่งจะส่งกลับรายการของวัตถุลูกค้าหรือฟังก์ชั่น CRUD ทั่วไป)
การวางสายหลักที่เรามีคือว่ารูปแบบ MVVM จะเรียกองค์ประกอบเพิ่มเติมเพื่อบ้าน ViewModels หรือถ้าเราเพิ่งเปลี่ยนความคิดของเราและโยกย้ายสิ่งที่เราได้ใช้เป็นองค์ประกอบ BusinessLogic ของเราเพื่อ ViewModels?
องค์ประกอบ BusinessLogic ของเราเป็นตัวแทนของ ViewModels หรือไม่