Пример #1
0
 public void NullSender_Ctor_Throws()
 {
     IItemRepository repo      = new MockItemRepository();
     IFooProcessor   processor = new StubFooProcessor();
     IFooSender      sender    = null;
     var             workflow  = new FooWorkflow(repo, processor, sender);
 }
Пример #2
0
        public FooWorkflowFactory(IItemRepository repo, IFooProcessor processor, IFooSender sender)
        {
            if (repo == null)
            {
                throw new ArgumentNullException("repo");
            }
            if (processor == null)
            {
                throw new ArgumentNullException("processor");
            }
            if (sender == null)
            {
                throw new ArgumentNullException("sender");
            }

            _itemRepository = repo;
            _processor = processor;
            _sender = sender;
        }
Пример #3
0
        //A large number of dependencies can indicate that the class is trying to do too much.
        //This is probably fine, but if the workflow becomes much longer, and introduces a lot
        //more dependencies, we may want to refactor.
        //As Mark Seeman says, "Constructor injection makes Single Responsibility Principle violations
        //glaringly obvious."
        public FooWorkflow(IItemRepository repo, IFooProcessor processor, IFooSender sender)
        {
            if (repo == null)
            {
                throw new ArgumentNullException("repo");
            }
            if (processor == null)
            {
                throw new ArgumentNullException("processor");
            }
            if (sender == null)
            {
                throw new ArgumentNullException("sender");
            }

            _itemRepository = repo;
            _processor      = processor;
            _sender         = sender;
        }