软件架构及设计模式
文章平均质量分 70
笨蛋糕
当你的才华还不足以撑起你的野心时,你应该静下心去学习!
展开
-
软件架构系列感想(一)
1、什么是架构?架构是一种能力,架构角色则是要求你在具体事物中行使某些行为,而架构师则是用来标识这些能力与行为的一个职务。对于不同的人来说,可能意味着什么是不一样的。模块、连接、依赖和接口;大局观;改变成本很高的事情;难以改变的事情;更加兼顾全局的设计;接口而非实现;审美(比如艺术般的整洁代码);概念模型;满足非功能需求/质量属性;每件事情都有架构;沟通能力(抽象、语言、词汇);计划;一定程度的严...原创 2018-03-25 10:57:45 · 1048 阅读 · 1 评论 -
软件架构系列感想(二)
3、软件架构师是什么?应用程序架构的关注点是应用程序,通常包括将应用程序解构为类和组件,确保设计模式的正确应用,构建和使用框架等等。本质上,应用程序架构谈论的是软件设计的低级别切面,通常只考虑单一的技术栈。结构单元主要以软件为基础,包括编程语言和结构、类库、框架、api等。它由类、组件、函数、模块、设计模式等加以描述。应用程序架构着重考虑软件和代码组织。大多数软件系统实际上是由横跨不同层次和技术的...原创 2018-03-25 11:16:44 · 628 阅读 · 1 评论 -
软件架构系列感想(三)
1、未来的架构师在哪里?我们可能花了很长时间谈论编写代码、自动化测试、自动化部署、工具、各种技术,以及所有相关的流程,而可用的软件是关键。多想想这些问题:(1)你上次写代码是什么时候(2)你上次重构是什么时候(3)你上次测试你的代码是什么时候(4)你上次设计东西是什么时候(5)你上次从零开始设计一个软件系统是什么时候(6)你上次从零开始设计一个会由一个团队来实现的软件系统是什么时候2、有些人过于渴...原创 2018-04-04 12:10:06 · 327 阅读 · 0 评论 -
软件架构系列感想(四)
1、技术约束。时间和预算是大多数软件开发者都熟悉的约束,还有一些在大型组织里经常碰到的一些技术相关的约束:(1)批准的技术清单(目的是限制组织必须支持,运行,维护和购买许可证的技术)(2)现有系统的互操作性(有时别的系统需要和你构建的系统整合,这时组织性的约束规定了你可以用于整合的协议和技术)(3)目标部署平台(包括嵌入式设备、windows或Linux服务器的可用性,以及云)(4)技术成熟度(有...原创 2018-04-04 13:05:51 · 314 阅读 · 0 评论 -
软件架构系列感想(五)
1、通用的抽象集合。可以将软件系统简单的理解成由多个容器构成,容器又由多个组件构成,组件由一个或多个类实现。类(在一个面向对象系统里,类是最小结构单元)组件(组件可以想象成一个或多个类组成的逻辑群组,通常由多个类在更高层次的约束下组合而成)容器(指一个在其内部可以执行组件或驻留数据的东西)系统(系统是最高的抽象层次,代表了能够提供价值的东西)2、软件的静态视图。语境(设定场景的高层次图,包括关键的...原创 2018-04-04 14:59:08 · 327 阅读 · 0 评论 -
软件架构系列感想(六)
1、代码不会讲述完整的故事。编写好的代码很重要,重构迫使我们考虑让方法变得更小、更可复用和自文档化,每个人都应该追求易于阅读、理解和维护的好代码。了解系统的设计意图,可以通过代码库如何被拆分为子项目、目录、包、命名空间等对整体架构做出一些判断,也可以根据对这个项目有限的了解、业务领域、你对团队如何构建软件的期望以及你对所用技术的知识,做出自己的假设。(1)软件系统如何融入已有的系统形态(2)为什么...原创 2018-04-04 17:03:33 · 349 阅读 · 0 评论