软件工程
文章平均质量分 92
应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、和维护的工程或进行研究的学科。
GeorgiaStar
世上无难事,只要肯放弃
展开
-
从Servlet、Servlet容器及Web容器的演进历程总结框架设计的套路
为什么要有Servlet ?为什么要有Servlet容器?什么是Web容器、HTTP服务器?今儿咱们就来盘盘,并且从中来总结架构和框架的设计套路。转载 2023-04-07 15:24:22 · 408 阅读 · 1 评论 -
微服务(Microservice)那点事儿
一个微服务架构的系统是一个分布式系统,系统内会由若干个应用组成,每个应用就是一个微服务。根据需求,每个微服务应用可以部署一定数量的服务器,也可以支持横向扩展,随时支持流量的变化。原创 2022-07-04 14:00:00 · 1211 阅读 · 0 评论 -
基于贫血模型的MVC开发模式VS领域建模开发模式
大部分工程师都是做业务开发的,很多业务系统都是基于MVC三层架构来开发的,确切点说,这是一种基于贫血模型的MVC三层架构开发模式。这种开发模式已经成为标准的Web项目开发模式,但它却违反了面向对象编程风格,是一种彻彻底底的面向过程的编程风格。特别是领域驱动设计(DDD)盛行之后,这种基于贫血模型的传统开发模式就更加被人诟病,而基于充血模型的DDD开发模式越来越被人提倡。原创 2023-03-22 11:57:53 · 639 阅读 · 0 评论 -
《从零开始学架构》读后总结
每一个程序员都有一个架构师的梦,可理想很丰满,现实很骨感---大部程序员工作中都做着CRUD,但进取心与持续学习的心态还是要有的。掌握架构设计的相关理论是成为架构师的前提。在看了一本《从零开始学架构》后,发现架构设计是有套路的。......原创 2022-01-14 16:09:05 · 2315 阅读 · 0 评论 -
领域建模应对软件复杂性初体验
在互联网各个在小厂维护过业务系统的开发们,应该都抱怨过编写得很烂的代码,大部分业务系统的代码都是过程式的面条,前人挖坑后人填坑,几乎是每迭代一次就能埋下一个坑,需求只要实现了就行,完全不追求设计美感。我们每天都在使用的各大APP或网站,我丝毫不怀疑,它们后台系统,一定充斥着可读性差毫无设计美感与OO思想的代码,这些过程式的面条代码,耗费了程序员的主要精力。博主常常和同事开玩笑,如果公司各个系统的代码开源,股价至少跌一半。原创 2022-02-09 16:33:10 · 775 阅读 · 0 评论 -
基于接口而非实现编程,你真的理解了吗
“基于接口而非实现编程”这条原则的英文描述是:“Program to an interface, not an implementation”。我们理解这条原则的时候,千万不要一开始就与具体的编程语言挂钩,局限在编程语言的“接口”语法中(比如Java中的 interface)。这条原则是一条比较抽象、泛化的设计思想。实际上,理解这条原则的关键,就是理解其中的“接口”两个字,这里的“接口”是泛指,可以理解为“抽象”。原创 2022-02-23 15:32:52 · 2585 阅读 · 1 评论 -
关于提升业务系统扩展性的一些思考
软件架构设计是一个工程问题,设计的目的是为了能以最低的成本来满足构建和运维系统的需求。其实几乎所有的软件系统在设计之初都被要求是可以扩展的。对于一套持续运行的系统来说,运维的成本往往是开发成本的10倍以上。设计一套可扩展的软件系统去支撑多变的业务,已经成为了软件设计的一个主导原则。原创 2022-10-08 16:30:51 · 1808 阅读 · 0 评论