热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java架构II_C1软件架构设计导论_1软件架构认知

田超凡原创博文,严禁复制转载,仿冒必究,部分素材转载自慕课网1.1软件架构定义和两派之争软件架构的定义:“架”起需求到落

                                                                                     田超凡

原创博文,严禁复制转载,仿冒必究,部分素材转载自慕课网

 


1.1 软件架构定义和两派之争

软件架构的定义:“架”起需求到落地的桥梁,"构" 建IT新蓝图

软件架构的两派之争:组成派、决策派

组成派:

天下武功出“组件”:代码包、模块、领域、CBM、SOA

软件系统架构:就是描述计算组件和组件的交互

架构设计:拆解、定义、关联组件,画图和实现

 

决策派:

 

"决策"山上有真人:架构的真谛是架构决策,是智慧和思维

软件系统架构:是由一个个决策组成的有机整体

架构设计:根据需求、限制决定技术、框架和实现


组成派 VS 决策派

架构图设计

http://img.mukewang.com/climg/60c81dfe098cb73013720509.jpg

 

工作中的区别

http://img.mukewang.com/climg/60c81e0e097005ac13590653.jpg

 


1.2 大师们眼中的架构

BA大师:结构、元素、内部、外部

BO大师:组件、连接件、约束,需求和理智

G大师:模块、过程、管道、消息、条件

I大师:组件、关系、环境、结构、演化

J大师:元素、接口、子系统、协作、风格

P大师:处理元素、数据元素、连接元素

W大师:决策、方向、过程

Z大师:组件是我的眼,决策是我的手

 


1.3 软件架构的目的:做IT界的莫扎特

桥梁:从"产品”听众获取灵感

指引:指引“研发"乐队完成演奏

分割:将长篇大作切割成乐章

交互:将乐章和声部交叠协奏

决策:在思考中挣扎,在决策中完美

演进:G小调第40交响曲-悲凉中前进

 


1.4 软件架构的发展阶段

软件架构的过去:

语言: C、Java、Python、 Go

结构设计:数据结构、设计模式、算法

统一建模:UML、 CBM

 

软件架构的现在:

多视角:逻辑、物理、应用、技术、功能、部署

体系框架: ABSD、DSSA、 AT、EA、TOGAF

 

软件架构的未来:

云化: IaaS、PaaS、SaaS资产复 用

演进式架构:拆迁者,修缮者,绞杀者

 


1.5 阶段小结&面试题

 

题目:作为架构师, 你的日常工作主要有哪些?

题眼:工作广度;组成和决策;莫扎特6大作用

加分项:方法论完整、新架构框架、新技术框架

 

 

题目:作为架构师,有什么推崇的书或者大师

题眼:学习能力、知识体系

加分项:体系书籍、新技术书籍、大师互动分享

 

题目:你在架构设计过程中碰到的难点?

题眼:案例深度;决策派思路;从莫扎特6大作用出发

加分项:决策依据;理论->实际->理论

 

附预习笔记:

 


推荐阅读
  • Unit4博客&课程总结Unit4作业的架构设计本单元作业的设计我分为了三个模块处理:模型构建+预处理+任务函数,前两部分即为整个图的完整构建,第三部分即为实现题目要求的查询方法。 ... [详细]
  • 第四单元和课程总结:简单的架构设计意识
    一、第四单元架构设计总结第一次作业由于需要按名查找类图模型,于是建立"Class"类进行管理由于方法具有参数导致类中存在二级结构 ... [详细]
  • 【Java编码规范】《阿里巴巴Java开发手册(正式版)》发布!
    2019独角兽企业重金招聘Python工程师标准2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Ja ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Java工程师书单(初级,中级,高级)
    简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序 ... [详细]
  • 软件测试工程师,需要达到什么水平才能顺利拿到 20k+ 无压力?
    前言最近看到很多应届生晒offer,稍有名气点的公司给出的价格都是一年30多W或者月薪20几k,相比之下工作几年的自己薪资确实很寒酸.根据我自己找工作经历,二线城市一般小公司招聘 ... [详细]
  • 出现_史上最大漏洞出现,你的安卓iPhone电脑都不安全了!
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了史上最大漏洞出现,你的安卓iPhone电脑都不安全了!相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
author-avatar
yzkgt18688161
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有