2010-03-19 2 views
10

현재 상태는 PocoCapsule입니다. 진화하고 있습니까? 다른 제품과 함께 포크 되었습니까? C++의 IoC에 대한 전반적인 개념은 무엇입니까? PocoCapsule이 으로 진화하지 않는다면, IoC는 C++, 안전하지 않은 것으로 간주 되었기 때문에 그렇습니까? 다른 패턴이 나타 났습니까?PocoCapsule 현재 상태 란 무엇입니까?

내가 이해하는 한, 2-335, 더 많은 제품이 있습니다. 은 C++ 용 IoC를 구현하고 있습니다. PocoCapsule은 가장 성숙한 제품입니다.

  1. 별도의 네임 스페이스를 : (나는 그것이 구글 코드에서 1.1의 볼로)

    나는 현재 버전에서 몇 가지 단점을 참조하십시오.

  2. 헤더 파일은 INCLUDE 폴더에 있어야합니다. 서브 폴더에 넣는 것이 더 좋습니다.
  3. 생성 도구는 Java에 종속됩니다.
  4. 정적 연결 라이브러리는 기본적으로 빌드되지 않습니다.
  5. 재구성 기능이 필요하지 않은 경우 컴파일 및 설치를 위해 setup.xml에서 소스 코드를 생성 할 수 없습니다.

아무도 같은 생각을 갖고 있습니까? 누구든지 의 목록에서 작업하고 있습니까? 특허처럼 일하기 시작할 장벽이 있습니까?

답변

3

나는 Ke Jin (메인테이너)에게 이메일을 보내었고 그의 반응은 2011 년 7 월 14 일 현재의 현재 개발 단계에 있지 않다는 것이 었습니다. 그는 이유를 밝히지 않았습니다.

2

저는 지금 당분간 자신을 찾고 있었고 C++에는 좋은 IoC 컨테이너가 없다는 것을 알게되었습니다. 이것을 구현하는 데는 많은 문제점이 있습니다. C# IoC 컨테이너 (Castle Windsor, Unity 등)와 같은 것을 얻는 것은 불가능합니다. 내 생각 엔 당신이 이런 식으로하면 C++을 할 수 없다는 것입니다. 그리고 C++을 사용한다면 스스로 롤을 돌리거나 싱글 톤 팩토리 (작은 농담)를 사용하십시오.)

Qt의 QML을 사용하는 것이 가장 쉬운 방법입니다. 선언적 UI 용으로 제작되었지만 모든 QObject 기반 트리를 작성하는 데 사용할 수 있습니다.

또 다른 좋은 예는 CORBA Systems for C++입니다. 사용자가 필요로하는 것들이있을 수 있습니다. 보는 다른 장소에 대한

그냥 내 힌트 ...

+0

+1 가능한 후보로 QML을 언급합니다. –

0

당신이 성공적으로 응용 프로그램에서 QtCore 라이브러리와 MOC-컴파일러를 재사용하여 Qt는 metaobject를 시스템을 사용할 수 있다고 생각합니다.

메타 객체 시스템을 사용하면 QMetaObject::invokeMethod()을 통해 모듈 인터페이스의 모든 메소드를 호출하여 완전히 격리 된 모듈을 생성 할 수 있습니다.

그리고 QCoreApplication 객체 인스턴스 없이도 모두 작동합니다! 모듈을 QObject의 서브 클래스로 정의하고 Q_OBJECT 매크로를 제공하고 모든 인터페이스 메소드를 Q_INVOKABLE로 표시하십시오 (물론 moc-compiler를 빌드 단계로 추가해야합니다).

관련 문제