
Core Basic 라이브러리로서 MVVMFrame 프레임 워크를 기반으로 구축 된 구성 요소화 솔루션
MVVMFRAMECOMPONNON의 구성된 아키텍처 다이어그램은 다음과 같이 겹쳐집니다.

Core Basic Componentization 라이브러리는 MVVMFrame을 기반으로하기 때문에 MVVMFrame 의 아키텍처 다이어그램은 다음과 같이 게시됩니다.

구성 요소화의 간단한 요약은 완전한 앱 또는 모듈을 여러 서브 모듈로 분할하여 각 하위 모듈을 독립적으로 컴파일하고 실행하거나 라이브러리 로 호스트 앱으로 병합하여 컴파일 및 실행을위한 완전한 앱을 형성하는 것입니다. 각 모듈은 비 의존적 일 수 있으며 서로 상호 작용할 수 있습니다.
프로젝트가 진행됨에 따라 요구는 계속해서 변화하고 반복합니다. 각 모듈도 비교적 복잡해집니다. 유지 보수 난이도도 그에 따라 증가하며 시간이 지남에 따라 새로운 문제가 발생할 수 있습니다. 현재 구성 요소화가 필요합니다.
앱이 구성 요소 기반 개발 솔루션을 사용하는 경우 주요 장점은 다음과 같습니다. 각 모듈의 구성 요소 기반 분할 후 각 하위 모듈을 컴파일하고 독립적으로 실행할 수 있으므로 특정 모듈을 개발하고 조정할 때 컴파일 속도 및 개발 효율성을 크게 향상시킬 수 있습니다. 다인원이 개발되면 각 사람은 독립 모듈을 담당하며,이 모듈은 다원 팀의 협력 개발에 더 도움이됩니다. 또한 각 모듈 간의 코드 경계는 비교적 명확하고 이후 단계에서 유지하기가 더 쉽습니다.
mvvmframecomponent = mvvmframe + 구성 요소 입니다. 즉, MVVMFrameComponent는 MVVM 패턴 아키텍처의 구성 요소화 솔루션을 채택합니다.
호스트 앱 : 각 어린이 모듈 이 라이브러리 인 경우 모든 구성 요소를 호스트 앱 에 통합 할 수 있습니다. 현재 호스트 앱은 모든 구성 요소 기능 컬렉션이있는 완전한 앱입니다.
구성된 공개 기본 라이브러리 : 주로 MVVMFrame Rapid Development Framework와 구성 요소화 된 일부 공개 핵심 기본 라이브러리를 포함하여 구성 요소화 된 프로젝트 의 빠른 구성을 용이하게합니다.
구성된 공공 자원 라이브러리 : 각 모듈 에서 일부 공공 자원 관련 측면을 관리하는 것이 주로 편리합니다.
간단한 농담 함수 모듈 : 주로 구성 요소 개발을위한 모듈 구현 예 중 하나로서 MVVMFrame을 기반으로 구성 요소 개발의 구현을 입증하는 데 사용됩니다.
간단한 뉴스 기능 모듈 : 주로 구성 요소 개발을위한 모듈 구현 예 중 하나로 MVVMFrame을 기반으로 구성 요소 개발의 구현을 입증하는 데 사용됩니다.
프로젝트 -> build.gradle isbuildModule 의 사용자 정의 변수
사용자 정의 변수 isbuildModule 각 어린이 모듈을 균일하게 관리하여 응용 프로그램 과 라이브러리 사이의 전환을 용이하게합니다.
isbuildModule = true 일 때, 각 하위 모듈 은 응용 프로그램 , 즉 모듈을 독립적으로 실행할 수 있음을 의미합니다. isbuildModule = false 인 경우 각 하위 모드 는 라이브러리 , 즉 모듈이 라이브러리 로 호스트 앱 으로 병합된다는 것을 의미합니다.
프로젝트 -> Module -Build.gradle
편리한 통합 관리를위한 구성 요소 모듈 Universal Build.Gradle
IsBuildModule 에 따르면, 각 어린이 모듈을 균일하게 관리하여 응용 프로그램 과 라이브러리를 전환 할 수 있습니다.
MVVMFrameComponent 의 핵심 기본 라이브러리는 MVVMFrame을 기반으로하기 때문에 MVVMFRAMECOMPONONT를 사용할 때 MVVMFrame 에 대한 특정 이해가 더 편리해야합니다. 여기서는 더 이상 MVVMFrame 관련 사용을 소개하지 않습니다. 자세한 내용은 mvvmframe을 직접 볼 수 있습니다.
일반적인 모듈의 경우 BaseApp 에 글을 쓸 수 있습니다. 상대적으로 독립적 인 모듈의 경우 모듈의 해당 ICOMPONTINGAPP 의 구현 클래스에 작성할 수 있습니다.
특별 참고 : IComponentApp 의 구현은 해당 요구에 대한 솔루션 일 뿐이며 선택 사항입니다. 필요에 따라 사용하십시오.
다음은 참조를위한 각 모듈에 대한 iComponentApp 구현 클래스의 예입니다.
Module-Joke 에서 IComponentApp 의 구현 클래스는 JokeComponentApp 입니다
Module-News 에서 IComponentApp 의 구현 클래스는 NewsComponentApp 입니다
아래는 Module-Joke 의 코드 예입니다
class JokeComponentApp : IComponentApp {
override fun onCreate ( app : BaseApp ) {
}
}Manifest 의 메타 데이터 에 해당하는 IComponentApp 구현 클래스를 구성하면 다음과 같습니다.
<!-- name为:IComponentApp的实现类,value固定为: ComponentApp -->
< meta-data android : name = " com.king.mvvm.joke.JokeComponentApp "
android : value = " ComponentApp " />각 모듈의 icomponentApp 구현 클래스를 얻으려면 getComponentApp 메소드 를 통해 얻을 수 있습니다.
자세한 내용은 앱의 소스 코드 사용 예제를 확인하십시오.
mvvmframecomponent를 좋아하거나 mvvmframecomponent가 당신에게 도움이되었다고 생각되면 오른쪽 상단의 "별"을 클릭하여 지원할 수 있습니다. 당신의 지원은 나의 동기입니다, 감사합니다?
아래 QR 코드를 스캔하여 저자에게 커피 한 잔을 요청할 수도 있습니다.
| 내 블로그 | github | Gitee | CSDN | 블로그 파크 |
|---|---|---|---|---|
| Jenly의 블로그 | Jenly1314 | Jenly1314 | Jenly121 | 젠리 |
| WeChat 공식 계정 | Gmail 사서함 | QQ 이메일 | QQ 그룹 | QQ 그룹 |
|---|---|---|---|---|
| Jenly666 | Jenly1314 | Jenly1314 | 20867961 | 64020761 |