2013-05-15 63 views

回答

6

高級模塊是將由表示層直接使用的接口/抽象。另一方面,低級別是一堆小模塊(子系統),有助於高級別人員的工作。下面的示例是高級模塊。我已經排除了較短樣本的依賴構造器注入。

public class OrderService : IOrderService 
{ 
    public void InsertOrder(Order ord) 
    { 
     if(orderValidator.IsValidOrder(ord) 
     { 
      orderRepository.InsertNew(ord); 
      userNotification.Notify(ord); 
     } 
    } 
} 

和低電平模塊(該OrderValidator)中的一個:

public class OrderValidator : IOrderValidator 
{ 
    public bool IsValidOrder(Order ord) 
    { 
     if(ord == null) 
      throw new NullArgumentException("Order is null"); 
     else if(string.IsNullOrEmpty(ord.CustomerId)) 
      throw new InvalidArgumentException("Customer is not set"); 
     else if(ord.Details == null || !ord.Details.Any()) 
      throw new InvalidArgumentException("Order detail is empty"); 
    } 
}