ฉันกำลังพัฒนาแอปพลิเคชันแบบขยายได้ด้วย MEF แอปพลิเคชันจะมีปลั๊กอินหลายประเภทสำหรับรวบรวมและประมวลผลข้อมูลในรูปแบบต่างๆ
ฉันกำลังคิดที่จะสร้างพื้นที่เก็บข้อมูลออนไลน์ตามเวอร์ชันสำหรับปลั๊กอิน ซึ่งจะช่วยให้ผู้ใช้สามารถดาวน์โหลดปลั๊กอินเวอร์ชันใหม่ได้เมื่อพร้อมใช้งาน
คงจะดีไม่น้อยหาก MEF สามารถโหลดปลั๊กอินเดียวกันเวอร์ชันต่างๆ พร้อมกันได้ แม้ว่าจากสิ่งที่ฉันเข้าใจแล้ว สิ่งนี้จะเป็นไปไม่ได้ (แก้ไขฉันหากฉันผิด)
ดังนั้นฉันจึงลาออกจากความจริงที่ว่าฉันจะต้องอัปเดตปลั๊กอินและเก็บถาวรเวอร์ชันก่อนหน้า
อะไรจะเป็นกลยุทธ์ที่ดีที่สุดในการทำเช่นนี้?
ตัวอย่างที่ 1
แอปพลิเคชันจะดาวน์โหลดเวอร์ชันใหม่ของปลั๊กอินที่ทำงานอยู่ซึ่งโหลดไว้ ฉันไม่สามารถวางปลั๊กอินในไดเร็กทอรีปลั๊กอินได้เนื่องจากมี DLL ชื่อเดียวกันอยู่แล้ว ดังนั้นฉันจึงสามารถเปลี่ยนชื่อปลั๊กอินใหม่ด้วยส่วนต่อท้ายเวอร์ชันได้ ฉันไม่สามารถโหลดชุดประกอบเดิมได้ ดังนั้นฉันจึงต้องบังคับให้รีสตาร์ท ดังนั้นเมื่อรีสตาร์ท จะได้ปลั๊กอินเก่าและโหลดปลั๊กอินใหม่
--- ดูเหมือนว่าวิธีแก้ปัญหาจะยุ่งเล็กน้อย
ตัวอย่างที่ 2
แอปพลิเคชันจะดาวน์โหลดเวอร์ชันใหม่ของปลั๊กอินที่ทำงานอยู่ซึ่งโหลดไว้ ปลั๊กอินถูกห่อหุ้มไว้ในตัวติดตั้งบางประเภท โปรแกรมติดตั้งจะปิดโฮสต์อย่างสวยงามและเก็บถาวรปลั๊กอินที่มีอยู่ โปรแกรมติดตั้งจะติดตั้งปลั๊กอินใหม่และรีสตาร์ทแอปโฮสต์
--- มันก็ดูยุ่งๆ นิดหน่อยเหมือนกัน
ฉันกำลังค้นหาการแก้ไขสมมติฐานของฉัน หรือข้อมูลเชิงลึกเกี่ยวกับกลยุทธ์ที่ประสบความสำเร็จเพื่อให้บรรลุเป้าหมาย