基于模型、模式的技术架构设计

基于模型、模式的技术架构设计            

前言

模型是整个架构设计的理论基础,模式是整个架构得以实现的方法论。
正在装载数据……
以模型为基础,以模式为方法,以相关技术为手段去构建一个可行、可靠、可重用的平台架构。

▓模型是在一个更高的层次对现有的概念或实体进行抽象,它脱离了具体的基础平台,在这种概念的设计下,我们的平台架构会独立于任何基础平台。

▓模式是一个久经考验的、可行的、可靠的、可重用的针对某一类问题的解决方案。在架构设计中大量的采用相关模式进行设计,使我们的设计是经得起考验、已被证明是可行、可靠、可重用的。

▓在整个架构设计中我们必须考虑的模型如下: 

♦                 远程、分布式组件模型

♦                  数据模型

♦                   业务模型

♦                  安全模型

这些模型的建立也就意味着我们的架构是多层、分布式的;我们的整个架构设计主要是针对中间层进行设计。


内容

◆在整个架构设计中我们不能不考虑到表示层与中间层之间的交互。在整个的交互设计中我们必须采用相关模式。在现有的模式中,MVC模式是这种问题域的最佳解决方案。通过MVC模式我们主要要达到如下目标:

♦                   降低藕合(表示层与中间层)

♦                   隐藏中间层实现细节

♦                  隐藏组件类型及位置

◆在中间层与数据层之间我们也必须提供存取接口,在现有的数据存取接口之上,我们可以自由选择(决定于您选择的基础平台),不过为了整个设计独立于基础平台的特性,我们可以在基础平台之上定义自己的数据存取接口。在整个接口的设计中我们应该做到以下目标:

♦                   数据源类型、位置无关性

♦                   接口健壮、友善

◆业务模型的建立和具体的业务紧密相关,当我们在导入现实世界的业务模型到计算机世界的过程中,我们应该采用相关的模式,以使我们的每个业务组件之间的层次更加合理、清晰;组件之间的交互更加有效。业务模型的建立必须与计算机模型一一对应,以使我们的导入更加流畅、无缝。关于业务模型与计算机模型对应关系如下:

♦                  功能组织结构图       ――――     软件结构

♦                  业务流程                   ――――     业务组件逻辑流程

♦                   业务数据                   ――――     系统数据

♦                   业务单据                   ――――     系统界面、报表

在业务模型的建立过程中,我们会采用相关的组件模型去实现。对每种组件模型的充分理解会使我们在设计的过程中能够充分的利用这种组件模型的优势,从而更好的为我们的业务模型提供服务。通用的组件模型如下:

♦                   组件的注册机制

♦                   组件的发现机制

♦                  组件的创建方式

♦                  组件的调用信息的传输机制(协议、编码格式)

♦                   组件的调用约定

♦                   组件的生成期管理

♦                  组件与容器的交互

♦                  组件的特别规范

◆既然是一个多层、分布式架构,我们就不得不考虑我们的数据、信息在各层之间的传输机制。为了使我们的系统能够很容易的被其它后续系统集成,在我们的整个数据、信息传输过程中我们都采用了XML编码格式。在处理数据的传输的时候,我们可以采用值对象模式(value   object)以减少在物理分布式的情况下多次远程调用带来的性能牺牲。在远程调用参数的处理上,我们又要考虑到本地调用的特点,尽量采用系统提供的序列化功能,由系统来确定什么情况下序列化而不是我们自己去做伪序列化操作(比如自己先将对象导出为字符串等)。在值对象模式的应用中,我们主要针对数据,通过对值对象模式的扩展,将其扩展到数据集合的级别,我们将整个数据处理过程分为两个阶段,一阶段是RDBMS阶段,一阶段是客户端阶段。在客户端阶段我们必须能够提供一个类DBMS的内存数据管理系统模型。

让系统可以把所需要的数据一次性抽取到客户端,然后在客户端进行操作而不是通过频繁的客户端、服务器端交互来完成数据的操作,在用户完成操作后,由用户一次性提交到服务器端以进行持久化处理。为了满足这种需求,我们必须在建立一个简单的客户端数据库管理系统模型。参考模型如下:

♦                   数据库结构、表结构、关系定义

♦                   数据保存

♦                  数据库常用操作(新增、删除、编辑、查询、计算、排序)

♦                   数据合法性保护

♦                   数据完整性保护

♦                  事务或伪事务支持

◆随着信息化进程的深入,客户对关键业务数据的安全要求越来越迫切。在这种形式下,如果一个平台架构缺少了安全的解决方案,将是致命的,无论对客户还是对整个平台。在整个平台架构中我们可以从安全模型入手去建立自己的安全方案。整个安全模型如下,我们可以基于基础平台的安全框架去实现它。

♦                   身份验证:                                   你是否可以进入系统

♦                   访问控制:                                           你是否可以访问当前资源

♦                  日志功能:                                           你做了什么

♦                   数据合法性:                             数据是否符合业务规则

♦                  数据完整性:                             是否会出现不完整数据

♦                   关键数据的保密性:               关键数据是否可以被轻易盗取 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVT设计模式是Django框架中的一种架构模式,它是基于MVC模式扩展。在MVT设计模式中,模型(Model)负责处理数据逻辑和数据库操作,视图(View)负责处理业务逻辑并调用模型和模板(Template)来展示页面。模板(Template)则负责定义页面的结构和样式。 Ajax技术是一种用于在不重新加载整个页面的情况下与服务器进行数据交互的技术。它通过在后台与服务器进行异步通信,可以实现动态更新页面内容,提升用户体验。在Django中,可以通过使用内置的Ajax库或第三方库来实现Ajax功能。 下面是一个简单的示例代码,展示了如何在Django中使用MVT设计模式和Ajax技术: 在模型中定义数据模型: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=100) publication_date = models.DateField() ``` 在视图中处理业务逻辑和Ajax请求: ```python from django.http import JsonResponse def book_list(request): books = Book.objects.all() data = { 'books': [ {'title': book.title, 'author': book.author, 'publication_date': book.publication_date} for book in books ] } if request.is_ajax(): return JsonResponse(data) else: return render(request, 'book_list.html', {'books': books}) ``` 在模板中展示页面内容: ```html {% for book in books %} <div> <h3>{{ book.title }}</h3> <p>Author: {{ book.author }}</p> <p>Publication Date: {{ book.publication_date }}</p> </div> {% endfor %} ``` 这是一个简单的示例,演示了如何在Django中使用MVT设计模式和Ajax技术。通过定义模型、编写视图函数和使用模板,我们可以实现数据的展示和交互,而Ajax技术则可以实现异步加载数据,提升用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值