项目是一个互联网应用。
假设项目有不同的用户群体,每个用户群体的前端都是一个独立的项目,交给不同的开发人员进行开发,前端和后端的交互方式选择
WebService
。
在前端和后端交互的过程中,主要有两类操作:一类是查询,包括返回单个记录和返回集合两种类型的查询;一类是命令,包括添加、删除、更新,当然,一次操作也可能是几个命令的组合请求。
第一类操作需要返回数据来显示,如果没有返回数据就会提示没有找到符合条件的数据。第二类操作,一般会影响后端的持久化数据,需要返回操作的结果,是成功还是失败,还是如何如何?
今天讨论的消息就是这种后端返回的操作结果,关于这种类型消息的设计,主要是这种消息在前段的处理、显示的相关设计。
刚开始,没有进行设计,每个项目的开发者自己设计自己的消息提示格式、提示内容和
UI
显示。有的人用浏览器的
alert
,有的人用前端框架的消息提示框,还有的在一个项目中两种提示都用了。提示的方式大都是在和后端交互,获得结果之后,
new
一个消息框,然后直接
show
出来。提示的内容也都是硬编码(在
new
消息框的时候,使用构造函数初始化)。
当然了,刚开始大家都各自为战,加紧时间赶工期,也都没有在意这些事情。在第一个迭代周期的总结会上,大家提出了这个问题,做了个总结。发现上面的做法会带来以下一些问题。
-
消息提示内容的硬编码。多个相同类型是消息(例如提示操作成功),如果变更这个类型提示的内容,需要在很多地方修改,几乎苦不堪言。
-
消息框的初始化是散落在各个和后台交互的地方的,如果需要变更一下消息框的
UI
,也会造成需要多个地方的修改,已经苦不堪言了。
-
消息的逻辑代码和
UI
显示代码是混合在一起的,没有分离,导致无法单元测试。
对于上面的问题,大家讨论了一下,可以通过下面的重构进行改进。
-
首先,将消息分类,方便后面的处理。
-
对于硬编码的问题,根据类型,将相同类型的内容集中管理,达到复用和便于后期维护的作用。
-
集中管理消息框的初始化工作,也可以方便消息框
UI
的变更,可以通过引入工厂模式来解决。
-
分离消息的逻辑和
UI
显示代码,方便单元测试和
UI
的变更。
-
建立一个消息中心,集中管理消息框的初始化,以及消息的显示。
这么做的目的有以下几点:
-
消息处理的独立
-
消息处理的公用
-
分离消息处理的逻辑和消息内容的
UI
显示
-
消息管理的集中
经过整理,消息大概分为下面的几类
- 成功。正确完成一次请求。
- 提示。在完成请求的过程中,缺少必要条件,或者是某些条件发生变化,导致不能正确完成请求。
- 异常。在完成请求的过程中,发生了异常,包括:代码异常,网络异常等等。
在后面的实现中,准备引入面向接口的编程,将消息中心和消息的处理接口化,方便将来的替换。消息框的初始化引入工厂模式,实现初始化的集中管理,隔离消息框(标题,提示内容,按钮,按钮的操作)和消息框UI显示,为将来的UI变更预留空间。
今天先讨论到这里,关于实现以及代码会在后面几篇分开讲解。
大家如果有什么更好的建议,可以在后面留言给我,感谢大家的参与!!!
文章来源:http://www.cnblogs.com/virusswb/archive/2011/10/12/2208417.html
分享到:
相关推荐
01-从NewSQL到全新的HTAP分布式架构演进-张潇
智东西公开课-类脑芯片的架构演进-灵汐科技首席架构师冯杰.pdf
在探讨58到家订单中心架构演进的过程中,涉及到的关键技术知识点可以从以下几方面进行展开: ### 订单中心业务介绍 订单中心的核心业务是处理数据量大且并发量大的订单信息。它主要面临的问题包括不同业务订单的...
京东是中国著名的电子商务公司,随着业务量的激增和用户需求的提升,其交易平台架构也在不断演进,以保障高可用性和应对高并发场景。架构师杨超在分享中详细阐述了京东交易架构的演进历程,重点讲述了大促中的技术...
苏宁库存系统演进及架构介绍 - 2016 - 司孝波 - 杭州演讲 - x1.pptx
阿里直播平台架构演进的知识点涵盖了直播平台的发展、架构变迁、技术细节和面临的挑战。 首先,直播行业在互联网技术发展的推动下,已经从曾经的高门槛专业领域,转变为普罗大众都可以参与的领域。陈康贤通过数据和...
MySQL高可用架构演进-吴炳锡。 1. 什么是高可用 2. 第一代传统复制: MHA及使用架构 3. 第二代基于GTID复制:GTID+Binlog server At Booking & Facebook 4. 第三代增强半同步复制:GTID+增强半同步及多IDC架构及...
电子电器架构 --- 电子电气架构演进的趋势2024.08.31
【百度网盘工程架构演进】是百度网盘在技术上的一个重要历程,主要由百度资深研发工程师徐亚非分享。该演讲涵盖了多个关键知识点,包括项目背景、架构设计、技术选型以及工具链的演进。 1. **项目介绍**: 百度...
在探讨如何使用Go语言(又称Golang)来支撑小米国际电商平台架构的演进过程中,我们可以从以下几个方面梳理出相关的知识点。 首先,国际电商平台的业务背景对技术架构的要求较高。用户量大、业务多变、并发数高以及...
本内容将详细介绍58同城WFS系统架构的演进过程,包括其基本原理、业务场景适应性以及在不同阶段架构的设计和优化。 ### WFS系统概述 WFS是58同城后端高阶架构师钟昌寿在演讲中介绍的核心主题。WFS作为分布式文件...
在此次SACC2021中国系统架构师大会上,京东科技数字城市群总架构师梁福坤做了主题为“业务快速交付低代码架构演进”的报告,分享了他对低代码架构的深入理解和未来发展的思考。 一、低代码简介 低代码开发平台(Low...
饿了么在高速发展中订单系统的演变过程经历了几个阶段,技术上的并发支撑,服务化解耦,重构拆 分以适应新的业务模型和领域等等.其中涉及到很多与传统电商不一样的痛点.... 了解核心架构应用如何在业务推动下发展的;
本课程基础篇主要目的是帮助初学者掌握基本的系统架构理念,通过实例和图示进行深入浅出的讲解,以期让更多的人能理解和运用架构知识。 首先,我们要理解什么是架构。Mary Shaw的观点指出,架构是计算组件及其交互...
闲鱼从零到千万DAU的应用架构演进.pdf这篇文章主要介绍了闲鱼从零到千万DAU的应用架构演进,文章从闲鱼业务介绍开始,讲述了闲鱼市场本质、高性价比的商品市场、闲鱼业务特点、业务形态决定技术架构演进等内容。...
《大型网站技术架构演进与性能优化》这本书深入探讨了互联网行业中大型网站在技术架构上的发展路径和性能优化策略。随着互联网的飞速发展,大型网站的架构设计和性能优化成为了决定企业竞争力的关键因素。本篇文章将...
美团作为国内领先的电子商务平台,其旅游度假商品中心作为整个业务体系中的一个重要组成部分,其架构的演进是美团技术创新和发展的重要体现。旅游度假商品中心的架构演进涉及到了技术升级、业务模式创新、用户体验...
### 下一代分布式体系架构的理念与演进 #### 明星讲师-黄浩-ASSZ2018 ##### 分布式系统架构概述 在过去的二十年里,随着互联网技术和业务需求的飞速发展,分布式系统架构经历了多次重大变革。从最初的单体应用到...
ArchSummit北京-《途牛供应链系统的架构演进》-李源。rar,这个资料是一份关于数字化转型解决方案的精品资料。它详细介绍了途牛供应链系统的架构演进过程,以及在数字化转型过程中所采用的各种技术和方法。这份资料...