액션을 만들어야 하기 때문에 아직 컴파일되지 않는다. 이 문제는 쉽게 해결할 수 있다.

     

    액션과 프로토콜

    이제 Pesticide 형식으로 액션을 정의해야 한다. 앞서 살펴본 것처럼 액션은 애플리케이션과 액터 사이에서 번역기처럼 작동한다.

    인수 테스트에서 코드를 포팅하는 데는 변경이 거의 필요 없다.

    interface ZettaiActions : DdtActions<DdtProtocol> { 
        fun getToDoList(user: User, listName: ListName): ToDoList?
    }
     
    class DomainOnlyActions() : ZettaiActions { 
        override val protocol: DdtProtocol = DomainOnly 
        override fun prepare() = Ready 
      
        private val lists: Map<User, List<ToDoList>> = emptyMap() 
      
        private val hub = ToDoListHub(list)
    
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.