写点什么

文章:有理化表现层

  • 2009-02-02
  • 本文字数:958 字

    阅读完需:约 3 分钟

web 应用的特色瘦客户端模式不完善,弊端越来越多,很多年来沿袭的一些习惯性设计模式也逐渐成为分布式应用发展中的障碍。而一些陈旧的折衷解决方案也随 着开发环境的转变而不合时宜。Ganesh Prasad 和 Peter Svensson 合作撰文就这一现象作了简要的分析,详细解释了为什么以及如何将表现层技术迁移到它本该遵循的开展方向上来。

他们追溯到直接导致陈旧的根深蒂固的表现层开发陋习的直接历史原因:
……(1)作为无处不在的客户端“应用平台”成就了浏览器的绝对重要性,应用因此很容易部署;(2)各商家间的分裂剥夺了平台原本拥有的发展潜能。……
……一方面,越来越多的应用需要采用 Web 方式向用户发布;另一方面,发布应用必须的平台却是如此不可靠。这时候,企业该怎么办?……
……最常见的决策是仅依赖浏览器那些非常有限的基本功能——显示格式简单的 web 页面、链接、提交表单等,而表现层的逻辑则转移到服务供应商能够控制的系统部分——Web 服务器。……

他们认为在旧式开发策略指导下的表现层开发现在完全应该由 SOA 构架来替代:

……一个“老”原则的重新兴起,或者说是“面向服务构架(SOA)”的流行,间接推动了表现层外观的改变。正如其所定义,SOA 更合理地组织业务逻辑,而且为实现整个逻辑提供统一接口。建立好构架的基础是囊括整个应用各个方面的各个互不相关的离散层,用户接口(UI)借助 SOA 能 够实现真正的表现层构架。这样的表现层没有业务逻辑,只有业务服务的客户。……

在文中,Prasad 和 Peter Svensson 解析了新模式实现的框架中包含的各个元素,解释了客户端的处理方式。同时,他们也一针见血地指出了这一新模式的基础原则:

……该模型的核心主题是分解表现层和业务逻辑等几方面的顾虑。……

最后,他们简要列出了新模式背后所蕴含的意义。

  • 精简的构架模型包含了表现层和业务逻辑层无阻抗失配的完美集成。
  • “web 服务器”的角色(首次)更为合理。
  • 支持 MVC 这个表现层最自然的设计模式。
  • 保证应用间端对端数据的完整;统一了“瘦客户”和“富客户”模型。
  • 支持无论是基于 SOAP 还是 REST 的服务。
  • 服务器运行更加轻便,因为其不需再负累表现层相关逻辑。
  • 降低了同组业务服务的多用户接口创建的开销。
  • 复用表现层模块的压力骤降,如果业务层设计合理的话,从表现层调用正确的服务就能实现足够的复用。

详细内容,请阅读全文有理化表现层

2009-02-02 20:481582
用户头像

发布了 71 篇内容, 共 22.2 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

带你掌握二进制SCA检测工具的短板及应对措施

华为云开发者联盟

测试 二进制 漏洞 二进制SCA检测

🍃【Spring专题】「技术原理」Spring Security的核心功能和加载运行流程的原理分析

码界西柚

spring spring security 框架搭建 12月日更

大数据开发之Hive SQL内置函数

@零度

大数据 Hive SQL

恒源云(GPUSHARE)_语音识别与语义处理领域之[机器翻译] 21.7 mRASP2

恒源云

深度学习 机器翻译 语音识别

CNCC 演讲实录| 焱融 YRCloudFile 在 AI 训练中的性能优化实践

焱融科技

云计算 AI 云原生 高性能 文件存储

单体应用与微应用典型架构比对

编程江湖

架构

ONES CTO 冯斌:如何在终身学习中跳出「恐慌区」

万事ONES

ONES

ONES 事记|ONES 参与信通院牵头编写的《DevOps 通用效能度量模型》

万事ONES

SaaS SaaS平台

在线JSON转JAVA工具

入门小站

工具

Kubernetes API server工作原理

汪子熙

Kubernetes k8s 28天写作 docker image 12月日更

Java的异常处理

海拥(haiyong.site)

28天写作 12月日更

架构实战营 4 期 - 第 3 周作业

周念

「架构实战营」

Shell脚本好学吗?看看这个带你了解shell中色彩处理和awk使用技巧

学神来啦

Linux Shell linux运维 awk linux云计算

如何快速搭建一个简单的固资管理系统

全象云低代码

开源 前端 低代码 资管系统 低代码平台

Nocalhost:云原生开发新体验

CODING DevOps

云原生 Nocalhost

星环科技大数据与人工智能应用研究与案例分享

星环科技

人工智能 大数据 数据分析 数据开发 技术专题合集

软件开发中的常见的15个定律和原则释义及应用

码语者

软件开发原则 软件开发定律

梦想总是要有的 - 工作20年程序员的2021年度总结

万俊峰Kevin

程序员 微服务 年终总结 年度总结 Go 语言

EasyAds:曾经自研的广告聚合SDK,如今在开源平台中唾手可得

EasyAds

sdk 聚合sdk 广告sdk 聚合广告sdk

Angular 变化检测详解

PingCode研发中心

angular

网易有道 | REDIS 云原生实战

有道技术团队

redis

今天谈谈用户故事地图,不是用户故事

华为云开发者联盟

DevOps 敏捷 开发 用户故事 用户故事地图

起点决定高度:ONES 如何践行软件标准化

万事ONES

ONES 软件工具 企业管理软件

年终招聘

张老蔫

28天写作

撬动百亿VRAR产业,让VR们“造”起来

华为云开发者联盟

AR vr 数字人 元宇宙 VR开发应用

【转】Node进阶篇之基于 gRPC 协议的 Node 服务

@零度

前端开发 Node

如何让 Spring Security 「少管闲事」

mzlogin

Java spring spring security

DevTools 实现原理与性能分析实战

vivo互联网技术

chrome 前端 Web

Linux之locate命令

入门小站

Linux

Kubernetes容器平台架构之道

巨子嘉

云计算 Kubernetes 云原生

【CSS 学习总结】第七篇 - CSS 布局-居中布局-水平居中布局

Brave

CSS 12月日更

文章:有理化表现层_SOA_Ganesh Prasad_InfoQ精选文章