你的位置:首页 > 软件开发 > ASP.net > 二次开发指南

二次开发指南

发布时间:2016-04-06 18:00:04
1 引言 相关源码下载地址:http://www.jinhusns.com/Products/Download/?type=xcj1.1 目的用于社会化开发平台的架构设计指导,阐述基础设施及关键技术构件、业务构件的设 ...

1       引言

 

相关源码下载地址:http://www.jinhusns.com/Products/Download/?type=xcj

1.1     目的

用于社会化开发平台的架构设计指导,阐述基础设施及关键技术构件、业务构件的设计思想及具体实现。

读者包括但不限于社会化开发平台的研发人员,使用社会化开发平台的产品定制人员以及公司外部的二次开发者。

1.2     参考资料

《架构使用说明书》

《业务使用说明书》

《皮肤设计机制》

1.3     引用术语与缩写解释

缩写、术语

解释

多租户模式

产品中存在诸多业务逻辑相同但是使用者数据需要相互隔离的服务(可能是业务构件也可能是应用),采用多租户模式可以使这类服务获得重用,从而简化开发。租户类型是指一类租户(例如:群组),租户是指租户类型的一个特定实例(例如:群组A)。

 

2       “平台+应用”设计思想

2.1     设计思想

2.1.1 目的

  1. 开发架构清晰,易于维护;

  2. 提升开发效率;

  3. 提升产品的可扩展性;

  4. 什么是应用?

2.1.2 概念

应用指产品中的功能模块,具有以下特征:

1)         具有一定独立性的完整的功能模块;

2)         可以在产品中安装、卸载、禁用/启用;

3)         可以在呈现区域安装、卸载(如果允许在呈现区域安装);

4)         应用可以设置为锁定状态,锁定的应用不允许卸载(可以禁用);

  1. 什么是呈现区域?

呈现区域之间彼此隔离,具有独立性,可以有独立的皮肤设计规约及导航,皮肤都是针对呈现区域进行设计的,呈现区域可以看作多个应用数据的容器。频道、用户空间、群组空间、后台,都是呈现区域,都可以定义自己的皮肤及导航。

  1. 什么是呈现区域实例?

是指呈现区域在运行期间生成的一个具体可以使用的实例,呈现区域分为单例和多例,每个呈现区域实例都有自己的Owner。例如:

1)         频道、后台属于单例:Owner=0;

2)         用户空间、群组空间属于多例:Owner为UserId或GroupId;

  1. 应用与呈现区域的关系

1)         1个应用可以在多个呈现区域中使用,可以为不同的呈现区域提供数据;

2)         1个呈现区域下,可以有多个应用,为应用数据提供统一的导航及皮肤设计;

2.1.3 设计要点

 二次开发指南

图表1应用设计整体设想

  1. 应用应该保持独立性:

1)         应用设计在物理上、逻辑上尽量独立;

2)         尽量避免应用之间的依赖;

  1. 应用的设计主要包括两部分的内容,一部分是数据另一部分是如何呈现;

  2. 应用的数据部分支持多租户,租户可以是呈现区域(PersentArea)也可以是另一个应用。

2.1.3.1    数据部分

数据库设计方面采用最简单的方式,在应用数据表中增加TenantTypeId(存储对应的PersentAreaKey或ApplicationId)。

2.1.3.2    呈现部分

按 照当前的皮肤设计机制,应用的View仅有一份(在所有皮肤**用),而导航等UI元素的风格又经常会在不同皮肤中进行调整,因此必须把这一部分UI元素 交由平台部分进行设计,各应用仅对外公布呈现这部分UI元素的数据。基于这个原因,需要抽象出来的UI元素包括:导航、管理菜单、快捷操作,这几个UI元 素在不同的呈现区域各不相同因此应该重新设计。

2.2     设计实施

2.2.1 设计规则

  1. 应用可以由开发者设置为锁定状态,锁定状态的应用不允许删除(可以禁用);

  2. 应用在呈现区域可以设置为内置应用:

1)         内置应用不允许卸载;

2)         内置应用属于自动安装应用(无论自动安装属性设置何值);

  1. 应用在呈现区域可以设置为自动安装:创建呈现区域实例时,自动安装到该呈现区域中;

  2. 在站点安装/卸载(目前仅考虑手动进行安装/卸载)时需要添加/移除以下数据:

2.2.2 安装/卸载

1)         tn_Applications:应用表;

2)         tn_ApplicationInPresentAreaSettings:应用在呈现区域的设置;

3)         tn_InitialNavigations:应用在呈现区域的初始化导航;

4)         tn_ApplicationManagementOperations:应用在呈现区域的管理操作;

  1. 在呈现区域安装/卸载(由呈现区域实例Owner在管理界面执行)时需要添加/移除以下数据:

1)         tn_ApplicationInPresentAreaInstallations:应用在呈现区域的安装记录;

2)         tn_PresentAreaNavigations:呈现区域实例的导航数据;

3)         应用数据中与该呈现区域实例相关的数据(卸载时需要考虑);

  1. 在其他应用安装/卸载:

1)         当前底层设计支持一个应用安装在另一个应用中;

2)         由开发者自行完成;

2.2.3 平台支撑

为了最大限度提升应用的开发效率,把应用开发常用的代码封装成可重用的技术构件(Infrastructure)和业务构件(BusinessComponents)。

二次开发指南

图表2平台+应用详细视图

3       应用开发指导

3.1     开发流程概览

二次开发指南

3.2     建立应用的目录结构

3.2.1 手动建立

您可以手动的建立您的应用目录结构:

  1. 在Web/Applications/建立以应用的ApplicationKey命名的Web Application;

  2. 在Web/Applications/{ApplicationKey}/建议包含以下目录结构:

 二次开发指南

图表1应用模块目录结构

3.2.2 自动建立

您还可以使用我们提供的AppHelper程序来自动生成目录结构。点击附件进行下载:

TunynetTool.AppHelper.zip(36.58K下载次数:715

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:二次开发指南

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录