No... you wouldnt want to do it that way unless there are different methods for each implementation. What I mean is that if all the methods are the same, and that interface is just being used to distinguish between the two RPCServices, then it is wrong. You should use IRPCService and use something else to determine which instance to get. Most likely it will be contextual. You can use named instances or some sort of context so Ninject knows which version of IRPCService to return. Maybe if you explain when and where each would be used I can help craft that configuration.