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设计的类图,类之间的交互图输出代码。)

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

    云在青天水在瓶
  • 相关阅读:
    JS_ ','逗号
    JS_prettyBanner[说给自己听]
    JS_关键字详细
    CSS_圣杯
    JS_ifream通信
    [转]<!DOCTYPE html>
    JS_ImageLazylode[说给自己听]
    CSS_负边距
    JS_waterfall[说给自己听]
    JS_call,apply
  • 原文地址:https://www.cnblogs.com/flms/p/15545357.html
Copyright © 2011-2022 走看看