Skip to content

Instantly share code, notes, and snippets.

@davybrion
Created September 3, 2012 18:40
Show Gist options
  • Select an option

  • Save davybrion/3612032 to your computer and use it in GitHub Desktop.

Select an option

Save davybrion/3612032 to your computer and use it in GitHub Desktop.
code snippets for "Introduction To IOC With Castle Windsor" post, part I
private readonly IOrderDataAccessor _accessor;
public OrderRepository(IOrderDataAccessor accessor)
{
_accessor = accessor;
}
IOrderRepository repository = Container.Resolve<IOrderRepository>();
OrderRepository repo = new OrderRepository(new OrderDataAccessor());
OrderRepository repository = Container.Resolve<OrderRepository>();
public static class Container
{
private static readonly IWindsorContainer _container;
static Container()
{
_container = new WindsorContainer();
_container.AddComponent<IOrderDataAccessor, OrderDataAccessor>();
_container.AddComponent<OrderRepository>();
}
public static T Resolve<T>()
{
return _container.Resolve<T>();
}
}
_container.AddComponent<IOrderDataAccessor, OrderDataAccessor>();
_container.AddComponent<OrderRepository>();
public interface IOrderRepository
{
Order GetById(Guid id);
IEnumerable<Order> GetAll();
Order FindOne(Criteria criteria);
IEnumerable<Order> FindMany(Criteria criteria);
void Store(Order order);
}
public class OrderRepository : IOrderRepository
static Container()
{
_container = new WindsorContainer();
_container.AddComponent<IOrderDataAccessor, OrderDataAccessor>();
_container.AddComponent<IOrderRepository, OrderRepository>();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment