摘要:先来看一张系统前后端架构模型图。一种接口的约定本文用于定义一种统一的接口设计方案,希望具有参考价值。,和都是常见的软件架构设计模式,它通过分离关注点来改进代码的组织方式。
如何无痛降低 if else 面条代码复杂度
相信不少同学在维护老项目时,都遇到过在深深的 if else 之间纠缠的业务逻辑。面对这样的一团乱麻,简单粗暴地继续增量修改常常只会让复杂度越来越高,可读性越来越差,有没有固定的套路来梳理它呢?这里分享三种简单通用的重构方式。 所谓的【面条代码】,常见于对复杂业务流程的处理中。…
为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异。痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的NodeJS,试图探索一条全新的前后端分离模式。
随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本。为了提升开发效率,前后端分离的需求越来越被重视,后端负责业务/数据接口,前端负责展现/交互逻辑,同一份数据接口,我们可以定制开发多个版本。
这个话题最近被讨论得比较多,阿里有些BU也在进行一些尝试。讨论了很久之后,我们团队决定探索一套基于NodeJS的前后端分离方案,过程中有一些不断变化的认识以及思考,记录在这里,也希望看到的同学参与讨论,帮我们完善。
由于跨域原因,第三方 Javascript 向后端发起请求时不能简单的使用 Ajax(XMLHttpRequest)。这篇文章带你撸一遍第三方 Javascript 开发中可能会用到的前后端接口协议。
文章主要介绍了 前端 + 后端如何对站点进行优化,并拿出 Google 的前端代码做了分析。
性能优化是老生常谈了,从雅虎的 N 条军规,前端各种优化准则,到 2010 年 Google IO 上 Steven 提出的高性能建站指南,都在告诉开发者,一个站点的性能非常重要,如何在有限的带宽条件下,达到极限的访问性能,如何让访问者,无论是从响应速度,视觉感官,操作流畅度都达到最佳体验, 是目前 Web 技术上的一个至关重要的挑战.
相信很多小伙伴都用过 MVP 模式,之前也一直在纠结 MVP 是什么,真正的 MVP 模式的写法是什么,其实后来想明白了,只要按照 MVP 的设计,里面怎么变化都是正常的,设计模式也不是一成不变的,要根据实际情况灵活的使用
随着互联网高速发展,公司对项目开发周期不断缩短,我们面对各种需求,使用原有对接方式,各端已经很难快速应对各种需求,更难以提高效率。于是,我们不得不重新制定对接规范、开发逻辑以便快速上线项目。 尽可能的缩小沟通的成本,开最少的会,确定大部分的事。 花最少的时间写文档,保证90%的…
原文地址:Building account systems 原文作者:Mike Hearn 译文出自:掘金翻译计划 本文永久链接:https://github.com/xitu/gold-...…
栅格就是网格,我们很小就会接触到网格,比如小时候的方格本作文本,画的表格等等,利用表格进行分类排版。UI中的栅格系统就是对各个平台的网格布局进行系统化,比如网页的网格定义,APP的网格定义。 栅格化系统是设计的一个基本原则,能够有规律的排版页面的布局,在CSS的Bootstra…
Virtual DOM / reconciliation algorithm, React 如此流行到底有哪些原因呢?
由于篇幅有限、框架众多,在分析之前,我们从版本更新频度和社区活跃度来进行初步的筛选。已经出现了比较久的Backbone和Knockout, 目前流行度正在持续衰退,说明市场已经做出了选择,市面上出现了更有竞争力的替代品; 还有aurelia这类的新涌现者,需要等待时间的检验。
相信前后端分离这个词,早已流传甚广,大家一些自己的理解,但可能有些人的观点有稍许偏差:我们要搞 SPA,全AJAX,那才是前后端分离了。 我们来聊聊什么是前后端分离。 先来看一张WEB系统前后端架构模型图。 从图中可以清晰的看到,前后端的界限是按照浏览器和服务器的划分。那么我们…
之前一篇文章中的信息架构应该如何梳理,当我们尝试分析一款移动端 app 的时候,我们应该如何进行思考之类的问题。
那么今天,我将从大家经常用到的百度外卖(iOS v4.4.1)说开去,阐述我自己分析一款 app 时候的思维逻辑和过程,当然我说的不一定对,希望能给新手朋友们一些思路。
六张图描述mvvm双向绑定实现过程
如何写一份用户体验好、开发喜欢看、靠谱的需求文档呢?笔者将从以下几个方面展开阐述。
本文用于定义一种统一的RESTful接口设计方案,希望具有参考价值。本文所描述的方案比较学院派(死板),在上一家公司提出没有被采纳,在所了解到的有限的若干家声称采用了RESTful风格的公司里,发现他们也偏离甚远,而在书本以及网上大部分介绍RESTful的资料里,却都是这样的方…
总结起来,大体优化思路就是:缓存/预加载/并行,缓存一切网络请求,尽量在用户打开之前就加载好所有内容,能并行做的事不串行做。这里有些优化手段需要做好一整套工具和流程支持,需要跟开发效率权衡,视实际需求优化。
总结一下移动端遇见的坑。
什么是响应式?响应式的页面在不同的屏幕有不同的布局,换句话说,使用相同的html在不同的分辨率有不同的排版。如下图所示: 响应式布局是为了解决适配的问题,传统的开发方式是PC端开发一套,手机端再开发一套,而使用响应式布局只要开发一套就好了。因为它是用的同样html,所以它的JS…
本文首发于掘金专栏,发布于廖柯宇的独立博客,转载请保留原文链接。 MVC,MVP和MVVM都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式。不同于设计模式(Design Pattern),只是为了解决一类问题而总结出…
前端性能优化可以分为三个level:静态资源优化、接口访问优化、页面渲染速度优化,在操控门槛上依次递增,优化效果上越发没有这么明显,所以很多小团队只会做到了第一个level追求极致的前端性能体验,提升自己的level,come on ~ 目录 一、静态资源优化 二、接口访问优化…
设计一套良好的 API 接口。 原文地址:服务端指南 | 良好的 API 设计指南 博客地址:http://blog.720ui.com/ 版本号 在 RESTful API 中,API 接口应该尽量兼容之前的版本。但是,在实际业务开发场景中,可能随着业务需求的不断迭代,现有的…
最常用的 15 个架构原则
分析 snabbdom 源码,手把手实现一个 Virtual DOM 库。
本文大多数的内容基本都是从多篇博客或相关文章中进行筛选,提炼出来,原本我也想用我匮乏的语言来描述,但是发现别人已经总结的更好了,所以...我还是乖乖的站在巨人的肩膀上吧~~
设计模式
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/11814.html
摘要:毕竟,架构师不参与写代码的工作。例如,通常架构师需要针对可能发生的每种情况进行规划。这种架构师需要信任开发团队来编写代码。 showImg(https://segmentfault.com/img/bVblaqV?w=900&h=383); Talk is cheap, show me the code!但是在互联网企业中,身处技术要职的架构师到底需不需要写代码? showImg(ht...
摘要:由于文章内容较长,所以我把它分成两篇小文章,在第一篇优秀架构师必须掌握的架构思维中,我会先介绍抽象分层分治和演化这四种应对复杂性的基本思维。另外,上面的算法是两路归并,也可以采用多路归并,甚至是采用堆排序进行优化,但是总体分治思路没有变化。 showImg(https://segmentfault.com/img/bVbeYpP?w=642&h=400); 介绍 架构的本质是管理复杂性...
摘要:由于文章内容较长,所以我把它分成两篇小文章,在第一篇优秀架构师必须掌握的架构思维中,我会先介绍抽象分层分治和演化这四种应对复杂性的基本思维。另外,上面的算法是两路归并,也可以采用多路归并,甚至是采用堆排序进行优化,但是总体分治思路没有变化。 showImg(https://segmentfault.com/img/bVbeYpP?w=642&h=400); 介绍 架构的本质是管理复杂性...
摘要:更好的理解设计模式我觉得对于设计模式的理解是把设计模式归并到架构的一部分,是架构的子集,重命名为代码架构,这样好理解很多。 设计模式,这是我听过最糟糕的翻译,这个名字对于程序员来说有点高高在上,难以理解,尤其是php,python,nodejs这些脚本语言的开发人员可能因为这个名字就忽视了设计模式的重要性。当然,除了名字以外,从更深层次,更具体来说,我觉得有三个原因: 不用设计模式也...
摘要:更好的理解设计模式我觉得对于设计模式的理解是把设计模式归并到架构的一部分,是架构的子集,重命名为代码架构,这样好理解很多。 设计模式,这是我听过最糟糕的翻译,这个名字对于程序员来说有点高高在上,难以理解,尤其是php,python,nodejs这些脚本语言的开发人员可能因为这个名字就忽视了设计模式的重要性。当然,除了名字以外,从更深层次,更具体来说,我觉得有三个原因: 不用设计模式也...
阅读 3832·2021-11-24 09:39
阅读 3749·2021-11-22 12:07
阅读 1102·2021-11-04 16:10
阅读 794·2021-09-07 09:59
阅读 1900·2019-08-30 15:55
阅读 932·2019-08-30 15:54
阅读 720·2019-08-29 14:06
阅读 2471·2019-08-27 10:54