Scenario:
Create handlers to handle user creation based on type
Solution:
IUserHandler
UserHandlers
Call
public interface IUserHandler { void CreateUser(User user); }
public class InternalUserHandler : IUserHandler { public void CreateUser(User user) { // Create Internal user } } public class ExternalUserHandler : IUserHandler { public void CreateUser(User user) { // Create External user } } public class UserHandler { public UserHandler() { } public static void CreateUser(User user) { .Get<IUserHandler>().InternalCreateUser(user); } private void InternalCreateUser(User user) { try { var handler = .Get<IUserHandler>(user.Type.ToString()); handler.CreateUser(elasticIndexerEntity); } catch (Exception e) { throw; } } }
static void Main(string[] args) { var user = new User<Task>(); UserHandler.CreateUser(user); } //Ninject Bind<IUserHandler>().To<InternalUserHandler>().InSingletonScope().Named(User.Type.ToString());
No comments:
Post a Comment