从设计原则,程序实现目标谈谈前端常用的10种设计模式和应用场景

总括:

近几年前端技术迭代迅速,除了ES6,Vue,React,Angular,各种企业级框架也层出不穷,比如egg,umi,nuxt,next,koa等等,还有redux, vuex, Mobx, Flux,dva等状态管理库,这些给前端开发工作带来了极大的简化,同时也给开发者很大的学习挑战。但是想要在前端架构层面有一定的高度,这些都是必须要掌握的。除了这些,还要掌握工程化,自动化,服务端等。那么这些类库或者框架剥离业务之后,其背后的设计思想以及遵循的底层程序原理是怎样的呢?

很多开发者对于知识的掌握,框架的应用都很熟悉,但是总有一些角落感觉没有深入进去,这可能是因为对于程序本身没有一个全局的认识。举个例子(不识庐山真面目,只缘身在此山中),好比在一座山之中,很多人可以很清楚的知道山里的路,但可能不会知道路为什么是这个走向,要想了解山势,就要走出这座山,从更高的地方观看一目了然。

所以做程序不仅要走得进来,更要能够走得出去,用最简单的方式思考问题,抓住程序的底层思维,设计出程序路径,至于用什么方法实现反而不那么重要了。

一年前和一位后端高级架构专家讨论前端如何能够快速上手开发后端需求,当时我觉得是先要学好java或者其他语言,因为这是开发的基础,如果基础语法和知识都不清楚的话,怎么开发呢。不过他说真正的程序开发,不管是前端和后端,和语言的关联程度并不是排在第一位得,真正排在第一位的是程序实现目标和实现模式。事实上也是如此,语言和框架有很多,但是这些都是开发的工具,我们要掌握的是开发的思想。体会并深入掌握这一点后,能少走很多弯路。

什么是程序

计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。

系统的三大因素:结构化的数据,操作数据的逻辑(增删改查),展示数据(ui层)

程序实现目标(OOP)

程序执行时通过顺序,判断,循环实现增删改查,这就要求数据有一定的结构,才方便操作。

所以程序实现的目标是将宏观事物抽象为结构化的数据,并覆以操作数据的方法。

数据结构

常用的数据结构有Set, Map, Tree, Array,链表,图等等,而操作这些就要有对应的方法,这些方法基于一定的实现准则,就是我们所说的设计原则。

设计原则

何为设计

  • 按照哪一种思路或者标准实现功能
  • 功能相同或,可以用不同设计方案来实现
  • 伴随着需求增加,设计的作用才能体现出来

程序设计原则举例(参考UNIX/LINUX设计哲学)

  • 小即是美
  • 让每个程序只做一件事情
  • 快速建立原型
  • 舍弃高效率而取可移植性
  • 采用纯文本存储数据
  • 充分利用软件的杠杆效应(软件复用)
  • 使用shell脚本提高杠杆效应和可移植性
  • 避免强制性的用户界面
  • 让每个程序都成为过滤器

实际开发中设计的五大原则(SOLID)

  1. 单一职责原则(SRP) 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中
  2. 开放封闭原则(OCP)
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值