C# ServiceLayer Facade应该是什么样子?

C# ServiceLayer Facade应该是什么样子?,c#,.net,service,layer,facade,C#,.net,Service,Layer,Facade,我有一个简单的N层架构:表示->服务层->业务对象层-数据访问层。服务层包含一些数据提供程序服务。我想为该层创建外观。 我不知道它应该是什么样子。我认为它应该包含积垢操作,但不知道具体如何?我需要一些例子 我可以创建一些CRUD操作,比如“CreateCustomer()/CreateOrder()”和其他操作,但是如果entityes很多呢?这种方法行不通 请给我一些你应该拥有的服务层正面的例子 为独立实体(如银行系统)提供的门面服务由账户、员工等组成。要创建银行,您需要同时创建其员工和账户。

我有一个简单的N层架构:表示->服务层->业务对象层-数据访问层。服务层包含一些数据提供程序服务。我想为该层创建外观。 我不知道它应该是什么样子。我认为它应该包含积垢操作,但不知道具体如何?我需要一些例子

我可以创建一些CRUD操作,比如“CreateCustomer()/CreateOrder()”和其他操作,但是如果entityes很多呢?这种方法行不通

请给我一些你应该拥有的服务层正面的例子

  • 为独立实体(如银行系统)提供的门面服务由账户、员工等组成。要创建银行,您需要同时创建其员工和账户。因此,员工和账户实体将由两种不同的服务管理,如EmployeeService和AccountService。在此基础上,您需要创建BankService,其中将注入EmployeeService和AccountService。这将作为一个门面

    EmployeeServiceImpl implements EmployeeService {
    
      createEmployee(Employee e) {}
      deleteEmployee(int empId) {}
      //
     }
    AccountServiceImpl implements AccountService {
    
      createAccount(Account e) {}
      deleteAccount(int empId) {}
      //
    }
    BankingServiceImpl implements BankingService {
      EmployeeService employeeService;
      AccountService accountService;
    
      createBank(Bank b) {
        Account a = b.getAccount();
        accountService.createAccount(a);
    
        Employee e = b.getEmployee();
        employeeService.createEmployee(e);
     }
    }
    
  • 一个工厂模式覆盖在你的门面上。每个服务都有一个唯一的ID

    ServiceFactory {
       public static Service getService(String id) {
            if (id.equalsIgnoreCase("Bank"))
                return new BankingServiceImpl();
            else if (id.equalsIgnoreCase("Account"))
                return new AccountServiceImpl();
            //
       } 
    }
    

  • 类似的东西…

    服务层实际上是应用程序中基础结构层的门面 协调其他基础设施组成部分的所有活动; 你可以用原油命名操作,比如创建,编辑,删除, 但作为最佳实践,您最好使用DDD原则命名它们;比如创建帐户 删除帐户等。。 您的服务层应该引用存储库所在的基础结构层,然后使用它们来访问您的域模型


    我希望这能有所帮助。

    1。你是说,像这样的客户服务:ICRUD?2.为了什么?为什么需要身份证?