2017-04-03 5 views
0

akka 액터를 사용하여 다른 사람들이 사용하고 구성 할 수있는 라이브러리를 만들고 싶습니다.Akka 액터 라이브러리 사용자 정의

라이브러리 사용자가 "MemoryDatabase"또는 "FileDatabase"또는 정의 된 클래스 나 액터를 확장하는 저장소 (질문 2 참조)와 같이 저장소 유형을 삽입하려는 저장소 액터를 만들고 싶습니다.

1) 사용자가 옵션을 지정하는 가장 좋은 방법은 무엇입니까 (자신이 만든 옵션 포함)?

2) "MemoryDatabase"가 리포지토리의 액터 자식이거나이 경우 리포지토리 액터의 필드/속성으로 정상적인 클래스 여야합니까?

감사합니다.

-Jojolepro

편집 : 내가 보이는 배우를 만들고 싶어 나는 repoType 필드를 지정하는 등 도서관의 최종 사용자를위한 최선의 방법을 알고 싶은 무엇

class Repository extends Actor{ 

val repoType:DataStorageType = ... 

def receive:Receive={} 

} 

같은, Repository가 미리 정의 된 액터 계층 구조에 있음을 고려하십시오.

+0

음 ... 질문이 너무 개방적이어서 다양한 다른 요소에 따라 100 가지 이상의 똑같이 좋은 방법이 있어야합니다. 더 구체적인 질문문을 제공하지 않는 한, 우리 대부분은이 문제에 대해 귀하를 도울 수 없습니다. –

+0

더 구체적으로 내 질문을 수정했습니다. –

답변

0

사용자가 구체적인 인스턴스 또는 단순한 유형을 넣을 것인지 여부에 따라 다릅니다. 당신이 사용할 수있는 DI 시스템의 어떤 종류도 무시하면, 저는 액터가 시작될 때 소품을 통해 액터의 생성자에 구체적인 인스턴스를 전달할 것입니다. 그렇다면 반드시 액터가 시작될 때 실체에 의존 할 것입니다. . 액터가 저장소를 소유하게하려면 사용자가 팩토리 인스턴스를 전달하거나 소품 및 따라서 생성자를 입력하게합니다.

관련 문제