
이제 막 Petrel Ocean을 접하기 시작했는데, 플러그인과 모듈의 차이점이 무엇인지 알 수 있습니다.
적어도 지금으로서는 그들은 똑같아 보입니다.
누구든지 나에게 몇 가지 아이디어를 줄 수 있습니까?
답변1
플러그인 클래스에는 플러그인에 ID를 제공하고 플러그인 관리자가 사용하는 속성이 포함되어 있습니다. 플러그인에는 IEnumerable 모듈의 모든 모듈이 포함되어 있습니다. IModule 인터페이스는 모듈 수명 주기 단계의 메서드를 정의합니다. Petrel 시작 중에 Ocean Core는 플러그인 클래스를 기반으로 플러그인 관리자가 구성 파일에 정의한 대로 모듈을 로드합니다.
답변2
플러그인은 새로운 것이고 IModule은 오래되었습니다.
플러그인 관리자는 플러그인을 다루므로 이를 사용해야 합니다.
답변3
Ocean Store를 통해 플러그인을 배포하려는 경우 플러그인 클래스에서 파생되어야 합니다. 물론 플러그인은 IModule도 구현해야 합니다. IModule이 수명 주기를 제어하는 메서드가 있는 곳이기 때문입니다.
답변4
Plugin
는 에 대한 집합 개체입니다 IModule
. 즉, 하나의 Ocean 플러그인은 여러 모듈로 구성될 수 있으며 각 모듈은 별도로 라이센스가 부여됩니다.
Plugin
플러그인으로 인해 문제가 발생할 때(예: 처리되지 않은 예외) Petrel이 사용자에게 더 잘 알리는 데 도움이 되는 추가 정보( Author
, Contact
, )가 포함되어 있습니다. PluginUri
그건 그렇고, Plugin
재정의할 메서드가 포함되어 있지 않으므로 정보 컨테이너일 뿐입니다.
Plugin
Dependencies
Petrel에서 Ocean 플러그인 로딩 순서를 정의하기 위해 선언할 수 있습니다 .
마지막으로 PIP로 정의되고 패키지된 클래스가 있는 Ocean 플러그인에는 Plugin
모든 속성이 포함된 XML 형식의 메타파일이 포함되어 있어 Plugin
Petrel이 실제로 설치하지 않고도 특정 조건을 미리 확인할 수 있습니다. 예를 들어 AppVersion
이 플러그인이 컴파일되는 호스트 애플리케이션(예: Petrel)의 버전을 정의하는 속성이 있습니다.