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

简介:

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

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

将与领域和项目无关的项目进行抽象,形成一个最基础的层,称为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

等等

 本文转自博客园张占岭(仓储大叔)的博客,原文链接:架构,改善程序复用性的设计~第二讲 什么应该提取出来,什么应该保留,如需转载请自行联系原博主。

目录
相关文章
|
6月前
|
设计模式 前端开发 网络协议
软件体系结构 - 软件架构复用
软件体系结构 - 软件架构复用
272 0
|
6月前
|
SQL NoSQL 前端开发
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
|
5月前
|
缓存 C语言 计算机视觉
程序与技术分享:CPU0处理器的架构及应用
程序与技术分享:CPU0处理器的架构及应用
|
3月前
|
存储 算法 前端开发
JVM架构与主要组件:了解Java程序的运行环境
JVM的架构设计非常精妙,它确保了Java程序的跨平台性和高效执行。通过了解JVM的各个组件,我们可以更好地理解Java程序的运行机制,这对于编写高效且稳定的Java应用程序至关重要。
51 3
|
4月前
软件复用问题之复用决策中,业务架构和技术之间有何关系
软件复用问题之复用决策中,业务架构和技术之间有何关系
|
4月前
业务系统架构实践问题之如何在biz层复用domain层的服务如何解决
业务系统架构实践问题之如何在biz层复用domain层的服务如何解决
|
5月前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
108 5
|
4月前
业务系统架构实践问题之实现平台集中复用和业务自主灵动的方式问题如何解决
业务系统架构实践问题之实现平台集中复用和业务自主灵动的方式问题如何解决
|
6月前
|
存储 设计模式 前端开发
请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
【2月更文挑战第26天】【2月更文挑战第89篇】请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
51 0
|
6月前
MFC应用程序对话框架构
MFC应用程序对话框架构
38 0