zoukankan      html  css  js  c++  java
  • C# 设计思想

    AOP(面向切面编程) (比如MVC的过滤器Filter,它里面的异常捕捉可以通过FilterAttribute,IExceptionFilter 日志记录,权限验证,异常拦截等。
    将通用功能从业务逻辑中抽离出来,可以省略大量重复代码,有利于代码的操作和维护。)

    DDD (领域驱动设计 防窜货3.2的仓储模型也是这个)
    (1)仓储接口层和实现层分离,使得领域模型更加纯净,领域模型只关注仓储的接口,而不用关注数据存储的具体细节,使得领域模型将更多的精力放在领域业务上面。

    (2)应用层只需要引用领域层,只需要调用领域层里面的仓储接口就能得到想要的数据,而不用添加仓储具体实现的引用,这也正好符合项目解耦的设计。

    (3)更换ORM方便。项目现在用的是EF,若日后需要更换成NH,只需要再实现一套仓储和上下文即可。如果要更好的使用DDD的设计,EF现在的Code First是最好的方式,领域层里面只定义领域模型和关注领域逻辑,
    EF的CRUD放在基础结构层,切换ORM就真的只需要重新实现一套仓储即可。)

    OOA(面向对象的分析,此阶段分析用例,定义领域模型。)

    OOD(面向对象的设计,此阶段定义类图,类之间的交互图(时序图等等)。) 

    OOP(面向对象程序设计语言,封装 继承 多态,根据OOD设计的类图,类之间的交互图输出代码。)

    还有哪些设计思想,请多多指教。

    云在青天水在瓶
  • 相关阅读:
    iOS 语录
    接口的理解
    android中src和background区别
    onItemClick 参数解释
    工作空间项目不存在,eclipse中项目删不掉
    [转载] IIS来搭建一个只能实现基本功能的FTP服务器
    [转]C# FTP操作类
    [转] VS2017 打包安装程序
    笔记本睿频的关闭与开启 [转载]
    C# 线程:定时器的使用
  • 原文地址:https://www.cnblogs.com/flms/p/15545357.html
Copyright © 2011-2022 走看看