软件开发总结

也不记得有多久了,没有写过自己的博客,今天早上突然脑洞大开,想着这些年一直从新码农工作,也没有总结点什么,想到我这些年开发的一些产品,一直追溯到源头,这些产品有啥用?为什么要这么做?没有这些我们之前用什么代替呢?


这些年我做过的产品无数,但是总结起来也就这么几类:软件系统,电商平台,电商助手,手机app,服务架构等。


这些类别中又可以再颗粒化归类,比如软件系统有:OA办公,CMS管理,CRM ,ERP,等,这个类别不管怎么细化,都是帮助企业或个人实现办公管理电子化。比如OA,我们可以用它管理员工,考勤,绩效,还有借阅,统计等一系列功能。如果没有他们我们么怎么办?传统应该是通过excel,word,记录这些,不同的功能记录在不同的文件夹中,分类进行,或者直接通过纸质存储。比如一个图书室办公,传统,我们应该有个库存文件夹,里面很多文件,记录图书库存记录,还有登记一些借阅记录文件夹,还有登记一些办证记录文件夹,还有违规罚款记录等。在借书软件还没有出现前,我们就用excel,或者word,甚至记事本记录这些,虽然手动一个文件一个文件操作,但是这比用纸记录还是方便,环保,节约,这是人类用电脑代替纸质的进步,之后人们发现这样记录太繁琐了,每次借书,都是先去查看注册用户文件,看是否该用户注册,然后再看下库存文件是否有书,如果有可以,再去修改库存文件书的数量,然后才登记借书记录,这样一来工作确实挺累的。然后聪明的人开始发明了数据库,来代替那些各类的文件。因为后面发现这些文件随着时间的增长实在太多了,一个人根本无法管理起来。数据库其实是一个大的存储库,类似于文件库,表可以是对于不同的功能文件夹。表行可以是这些具体内容。然后又发明了sql 来读取这些内容,根据不同的条件来筛选,类似为excel 中的筛选。我们可以根据sql 操作,来查询,修改,新增,删除这些数据。这些sql功能(CURD)为我们奠定了软件功能的基础。这样人类把电子文件的操作搬到了数据库上,这样数据不会随着时间的增长,操作越来越麻烦,因为数据库的索引为我们提供了支撑,能快速定位到数据,还有原来一个人才能操作的文件(一台电脑的文件只能一个人来啊,未考虑到分布式协同),现在多人操作没有问题,可以快速完成借阅工作,数据库锁为我们提供了支撑。


好了说完了上面一大推,其实是主要是说,数据库代替了人类的电子文件数据储存操作。


数据库有了,操作确实方便了,但是用心的人发现,图书库存上线,借阅,登记这些功能,经常要去执行好几条sql,这些执行操作,有时候是高风险的,难免where条件中,或者insert value 输错了。能不能弄个窗口,带上文本框让我输入呢,如果我们去开发一款窗口软件,让软件去执行sql,我们只负责在软件文本框中输入数据,再点击按钮操作,再自动加上一些校验防止人工输错,还有这个数据库的数据有些可以开放给读者看啊,比如一些库存,图书介绍等,这样又弄了权限。随着人们发现的越来越多,软件的功能越来越完善。这样CS软件开始盛行了。在CS盛行的那些年代,数据库+CS语言+windows 一个办公系统就打造了。架构还没有现在这种分层分布式架构的概念,就简单的界面元素+服务+数据库操作,其实服务包括,数据,安全校验等。这时候好的设计模式可以开始萌芽,比如池技术,代理,工厂,单例,观察者,装饰,适配等等。


随着互联网的崛起和发展,于是基于浏览器的网站开始代替了传统的CS软件,传统的CS办公软件都开始搬到服务器上,然后客户端通过浏览器访问,这时候我们把这类软件叫BS软件。BS比CS可以说是一种跨越式进步,原来用户每台电脑使用什么软件,必须先安装,升级的话,必须重新安装,现在用户只需要装个浏览器软件,只需要在浏览器地址栏输入不同的网站地址,就可以实现各种软件功能,且不需要担心升级问题。BS这一进步,必然也给软件开发带来复杂性。基于浏览器使用的http协议,数据转换(原来操作系统数据输入,直接系统底层api提供支持),还有多用户认证,授权,数据加密,并发性能,数据,应用各种压力等。原来的直连数据操作转化成分层模式(三层架构MVC),原来的单点扩展成多点,于是乎,各种开源架构(struts,springmvc,spring,mybatis),分布式中间件(hessian,dubbo,mateQ)出现,还有缓存,搜索,等辅助软件出现。锁,索引,序列化,分布式,集群,哈希涉及的各类算法和数据结构支撑。还有层出不穷的设计构架模式和原则,aop,ioc,模板,拦截器,责任链等,还有各种设计原则(六大原则),这些模式和原则都是经过一代又一代的软件开发总结出来的。软件开发容易,但是维护和扩展真是难上加难,可以说这些模式和原则真是软件开发的宝典,可以根据业务的需求用之,但不能牵强。









  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程答疑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值