• 架构,改善程序复用性的设计~第二讲 什么应该提取出来,什么应该保留


    在进行项目整体架构设计时,我们应该明确知道哪些项目是可以被重复再利用的,而哪些项目是与领域模块关系密切的,对于后者我们是应该在解决方案中保留的,而前者则是应该提取出来的。

    在一个完整的解决方案中,应该是由“公用的类库”,“核心的项目基础层”和“与业务领域关系密切个性项目组”组成的,对于我开会的那个项目来说,也是遵循这样一个原则:

    将与领域和项目无关的项目进行抽象,形成一个最基础的层,称为Project.Common

    将与架构模式有关,而与领域无关的项目,形成一个架构模式核心层,称为Project.Core

    将与指定领域有关的,个性化业务组成的代码,叫做领域层,它的名称由项目含义确定

    在这篇文章里,我们主要是找到一个项目中,可以被抽象和被重复再利用的点,它可以是个方法,也可能是个类,再可以是个接口,一个项目等,在架构领域时,在代码重复再利用方法,我认为应该是以一个项目为单位的,一个项目里,可能包括的是一些可以被再利用的类的集合。恩,就是这样的。

    对于电子商务网站,它的解决方案架构可能是:

    ABC公司的电子商备平台架构

    ABC_WEB (MVC or WebForm)

    ABC_Service

    ABC_Data

    ABC_Entity

    使用所有电子商务类网站的核心代码:

    EC_Web

    EC_Entity

    EC_Service

    EC_Data(可以被多个数据库公用的一些dbml模块)

    使用通用核心代码:

    WEB.Commons

    Entity.Commons

    Data.Commons

    最底层才是公用类库

    VCommons

    Standard

    VLogs

    等等

  • 相关阅读:
    TypesScript+Webpack
    TypeScript 类型
    git操作
    kafka
    java: cannot find symbol symbol: variable log
    Angular结构型指令,模块和样式
    Angular 自定义拖拽指令
    Angular changeDetction
    Angular 依赖注入
    RXJS Observable的冷,热和Subject
  • 原文地址:https://www.cnblogs.com/lori/p/2486730.html
Copyright © 2020-2023  润新知