
โซลูชันส่วนประกอบที่สร้างขึ้นตามเฟรมเวิร์ก MVVMFrame เป็นไลบรารีพื้นฐานหลัก
ไดอะแกรมสถาปัตยกรรมส่วนประกอบ ของ MVVMFrameComponent เป็นชั้นดังนี้:

เนื่องจากไลบรารีพื้นฐานหลักของการทำให้เป็นส่วนประกอบนั้นขึ้นอยู่กับ MVVMFrame แผนภาพสถาปัตยกรรมของ MVVMFrame จึงถูกโพสต์ที่นี่ดังนี้:

บทสรุปอย่างง่าย ๆ ของการทำให้เป็นส่วนประกอบคือการแบ่ง แอพ หรือ โมดูล ที่สมบูรณ์เป็นหลาย submodules เพื่อให้แต่ละ submodule สามารถรวบรวมและทำงานได้อย่างอิสระหรือรวมเข้ากับแอพโฮสต์เป็น ไลบรารี เพื่อสร้าง แอพ ที่สมบูรณ์สำหรับการรวบรวมและทำงาน แต่ละโมดูลอาจไม่ขึ้นอยู่กับและสามารถโต้ตอบกันได้
เมื่อโครงการดำเนินไปโดยความต้องการยังคงเปลี่ยนแปลงและวนซ้ำ แต่ละโมดูลจะค่อนข้างซับซ้อน ความยากลำบากในการบำรุงรักษาจะเพิ่มขึ้นตามนั้นและเมื่อเวลาผ่านไปอาจทำให้เกิดปัญหาใหม่ ในเวลานี้เราต้องการส่วนประกอบ
เมื่อแอพใช้โซลูชันการพัฒนาที่ใช้ส่วนประกอบข้อดีหลักคือ: หลังจากการแยกส่วนประกอบของแต่ละโมดูลแต่ละ submodule สามารถรวบรวมและทำงานได้อย่างอิสระดังนั้นเมื่อพัฒนาและปรับโมดูลบางอย่างความเร็วในการรวบรวมและประสิทธิภาพการพัฒนาสามารถปรับปรุงได้อย่างมาก เมื่อการพัฒนาหลายคนแต่ละคนรับผิดชอบโมดูลอิสระซึ่งเอื้อต่อการพัฒนาความร่วมมือของทีมหลายคน นอกจากนี้ขอบเขตรหัสระหว่างแต่ละโมดูลนั้นค่อนข้างชัดเจนและง่ายต่อการรักษาในระยะต่อมา
MVVMFrameComponent = MVVMFrame + ส่วนประกอบ นั่นคือ MVVMFrameComponent ใช้โซลูชันส่วนประกอบของสถาปัตยกรรมรูปแบบ MVVM
แอพโฮสต์: เมื่อแต่ละ โมดูล เด็กเป็น ไลบรารี ส่วนประกอบทั้งหมดสามารถรวมเข้ากับ แอพโฮสต์ ในเวลานี้ แอพโฮสต์ เป็นแอพที่สมบูรณ์พร้อมคอลเลกชันฟังก์ชั่นส่วนประกอบทั้งหมด
ห้องสมุดพื้นฐานสาธารณะส่วนประกอบ: ส่วนใหญ่รวมถึงกรอบการพัฒนาอย่างรวดเร็ว MVVMFrame และห้องสมุดพื้นฐานหลักบางส่วนเป็นส่วนประกอบซึ่งช่วยอำนวยความสะดวกในการสร้าง โครงการ ที่มีส่วนประกอบอย่างรวดเร็ว
ไลบรารีทรัพยากรสาธารณะที่เป็นส่วนประกอบ: มันสะดวกในการจัดการด้านทรัพยากรสาธารณะที่เกี่ยวข้องกับบางส่วนในแต่ละ โมดูล
โมดูลฟังก์ชั่นตลกอย่างง่าย: ส่วนใหญ่ใช้เพื่อแสดงให้เห็นถึงการใช้งานการพัฒนาส่วนประกอบตาม MVVMFrame เป็นหนึ่งในตัวอย่างการใช้งาน โมดูล สำหรับการพัฒนาส่วนประกอบ
โมดูลฟังก์ชั่นข่าวง่าย ๆ : ส่วนใหญ่ใช้เพื่อแสดงให้เห็นถึงการใช้งานการพัฒนาส่วนประกอบตาม MVVMFrame เป็นหนึ่งในตัวอย่างการใช้งาน โมดูล สำหรับการพัฒนาส่วนประกอบ
โครงการ -> ตัวแปรที่กำหนดเองใน build.gradle isbuildmodule
ตัวแปรที่กำหนดเอง IsBuildModule เพื่อจัดการโมดูลเด็กแต่ละโมดูลอย่างสม่ำเสมอเพื่ออำนวยความสะดวกในการสลับระหว่าง แอปพลิเคชัน และ ไลบรารี
เมื่อ isBuildModule = จริง หมายความว่าแต่ละ submodule เป็น แอปพลิเคชัน นั่นคือ โมดูล สามารถทำงานได้อย่างอิสระ เมื่อ isBuildModule = false หมายความว่าแต่ละ submodule เป็น ไลบรารี นั่นคือ โมดูล จะถูกรวมเข้ากับ แอพโฮสต์ เป็น ไลบรารี
โครงการ -> module -build.gradle
โมดูล ส่วนประกอบ Universal Build.gradle เพื่อการจัดการแบบครบวงจรที่สะดวก
จากข้อมูลของ ISBuildModule เราสามารถจัดการ โมดูล เด็กแต่ละตัวได้อย่างสม่ำเสมอเพื่อสลับระหว่าง แอปพลิเคชัน และ ไลบรารี
เนื่องจากไลบรารีพื้นฐานหลักของ MVVMFrameComponent ขึ้นอยู่กับ MVVMFrame คุณต้องมีความเข้าใจที่แน่นอนเกี่ยวกับ MVVMFrame ให้มีประโยชน์มากขึ้นเมื่อใช้ MVVMFrameComponent ที่นี่ฉันจะไม่แนะนำการใช้ MVVMFrame ที่เกี่ยวข้องอีกต่อไป สำหรับรายละเอียดคุณสามารถดู MVVMFrame ได้โดยตรง
สำหรับโมดูลที่เป็นเรื่องธรรมดาคุณสามารถลองเขียนใน Baseapp สำหรับโมดูลที่ค่อนข้างอิสระคุณสามารถเขียนได้ในคลาสการใช้งานของ IComponentApp ที่สอดคล้องกันของโมดูล
หมายเหตุพิเศษ: การใช้งาน IComponentApp เป็นเพียงวิธีแก้ปัญหาความต้องการที่สอดคล้องกันของคุณและเป็นทางเลือก ใช้ตามต้องการ
นี่คือตัวอย่างของคลาสการใช้งาน IComponentApp สำหรับแต่ละโมดูลสำหรับการอ้างอิง:
คลาสการใช้งานของ iComponentApp ใน โมดูล joke คือ jokecomponentapp
คลาสการใช้งานของ iComponentApp ใน โมดูล-นิว คือ NewsComponentApp
ด้านล่างเป็นตัวอย่างรหัสใน โมดูลตลก
class JokeComponentApp : IComponentApp {
override fun onCreate ( app : BaseApp ) {
}
}กำหนดค่าคลาสการใช้งาน iComponentApp ที่สอดคล้องกับ meta-data ใน รายการ ตัวอย่างมีดังนี้:
<!-- name为:IComponentApp的实现类,value固定为: ComponentApp -->
< meta-data android : name = " com.king.mvvm.joke.JokeComponentApp "
android : value = " ComponentApp " />เมื่อคุณต้องการรับคลาสการใช้งาน IComponentApp ของแต่ละโมดูลคุณสามารถรับได้ผ่านวิธีการ GetComponentApp ของ Baseapp
สำหรับรายละเอียดเพิ่มเติมโปรดตรวจสอบตัวอย่างการใช้ซอร์สโค้ดในแอป
หากคุณชอบ MVVMFrameComponent หรือรู้สึกว่า MVVMFrameComponent ช่วยคุณได้คุณสามารถคลิก "ดาว" ที่มุมขวาบนเพื่อรองรับ การสนับสนุนของคุณคือแรงจูงใจของฉันขอบคุณ?
นอกจากนี้คุณยังสามารถสแกนรหัส QR ด้านล่างและขอให้ผู้เขียนมีกาแฟหนึ่งถ้วย☕
| บล็อกของฉัน | คนอื่น ๆ | คนขี้เกียจ | CSDN | สวนสาธารณะ |
|---|---|---|---|---|
| บล็อกของเจนลี่ | Jenly1314 | Jenly1314 | Jenly121 | เจนลี่ |
| บัญชีอย่างเป็นทางการของ WeChat | กล่องจดหมาย gmail | อีเมล QQ | กลุ่ม QQ | กลุ่ม QQ |
|---|---|---|---|---|
| Jenly666 | Jenly1314 | Jenly1314 | 20867961 | 64020761 |