第一章.架构与设计的流程和核心概念

编程的三要素

  • 好的学习态度
  • 良好的编程习惯
  • 掌握一定的编程技巧

为什么要有架构或者架构的重要性?

一个良好的架构能够使系统具有更好的伸缩性和扩展性,能让软件开发进入一个良性循环。

架构

各行各业都有架构的概念,如建筑业,架构好比房屋的地基和骨架,其它的施工行为都在"架构"上进行操作。

软件开发行业对架构的定义:是对系统的高层视角,或者说是对系统抽象,通过对全局的关注,提供核心代码,对后续的编码或维护进行指导和约束。它是系统开发的蓝图。

架构师的职责

  • 要有领导能力和决策能力
  • 架构师要理解软件开发流程
  • 要有牢固的技术支持和设计知识
  • 需要理解业务领域的知识
  • 各方协调沟通能力

架构重要性总结

  • 架构设计解决系统中的质量问题
  • 架构设计促进达成共识
  • 架构设计支持计划流程的编制
  • 架构设计促进架构的完整性
  • 架构设计有助于管理复杂性
  • 架构设计为重用提供基础
  • 架构设计降低维护成本
  • 架构设计支持影响分析

TDD:测试驱动开发,DDD:领域驱动开发,BDD:行为驱动开发

架构设计中的概念

Tier:系统的物理部署结构

Layer:系统逻辑结构

时间: 2024-07-28 12:37:36

第一章.架构与设计的流程和核心概念的相关文章

第一章 响应式设计之Media Quer

书里谈到尽量不要使用Media Queriy. 但是过多使用media query,会导致CSS变得脆弱和页面难以维护.一些方法可以减少页面使用 media query. 响应式设计: (1) 使用百分比替换固定的宽度.如果不行,也尽量使用vw, vh, vmin, vmax. (2) 使用max-width,而不使用width. (3) 对于一些元素,如img, object, video, iframe, 使用max-width: 100%. (4) 如果背景图片要完全覆盖容器,可以使用ba

使用Java实现数据库编程—01 第一章 数据库的设计

 1.        数据库设计:将数据库中的数据实体及这些数据实体之间的关系进行规划和结构化的过程: 良好的数据库设计: 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发 糟糕的数据库设计: 数据冗余.存储空间浪费 内存空间浪费 数据更新和插入的异常  2.        数据库设计的步骤: 1.  需求分析阶段:分析客户的业务和数据处理需求 2.概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整 3. 详细设计阶段:将E-R图转换为多张表,进行逻辑设计,确

高性能mysql第一章——架构

第一章 架构 1.1 mysql逻辑架构 mysql服务器逻辑架构图如上图所示. 第一层为连接/线程处理层.每个客户端连接mysql服务器,都会拥有一个线程.服务器会缓存线程,因此无需为每一个连接新建或释放线程.mysql5.5以上的版本还提供了线程池,可以用少量线程服务大量连接.当客户端连接到服务器时,服务器需要对其认证,根据用户名主机名密码等信息,确定客户端是否有查询/更新某个数据库内某张表的权限. 第二层为mysql的核心服务功能层.包括查询解析.分析.优化.缓存以及所有内置函数(日期.时

基于Flume的美团日志收集系统(一)架构和设计【转】

美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收集系统>将分两部分给读者呈现美团日志收集系统的架构设计和实战经验. 第一部分架构和设计,将主要着眼于日志收集系统整体的架构设计,以及为什么要做这样的设计. 第二部分改进和优化,将主要着眼于实际部署和使用过程中遇到的问题,对Flume做的功能修改和优化等. 1 日志收集系统简介 日志收集是大数据的基石.

基于Flume的美团日志收集系统(一)架构和设计

来自:美团技术博客 http://tech.meituan.com/mt-log-system-arch.html 美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收集系统>将分两部分给读者呈现美团日志收集系统的架构设计和实战经验. 第一部分架构和设计,将主要着眼于日志收集系统整体的架构设计,以及为什么要做这样的设计. 第二部分改进和优化,将主要着眼于

小粉书第一章

开篇啦. 虽然考研很忙,要学习的东西也实在很多,但老师不是说过啦,"入宝山不能空归"呀,所以大萌要麻烦你找到整块的时间开整理,biubiu. 第一章 -- 程序入门设计语言篇 %d  十进制有符号整数 %u  十进制无符号整数 %f  浮点数 %c  单个字符 %s  字符串 %p  指针 %e  指数形式的浮点数 %x,%X  无符号十六进制整数 %0  无符号八进制整数 %% % 例题1-2 输入三位数反转 <1> 025 1 #include<stdio.h&g

第一章 算法在计算机中的应用

第一章: 讲了算法(algorithm)的基本概念,以及算法的作用.(这些可以看书) 用个人的话来讲,你可以把算法当做一个解决问题的方法,就像数学里的各种公式一样,你也可以把他们认为是一种算法.算法无处不在,而且算法必须存在,否则我们的生活都将变得缓慢,迟钝. 举个例子:我们平时出去游玩时,要事先查好路线,这时就可以用百度地图搜索从A地到B地的路线,地图上会给出最快的乘车路线,这些路线是怎么给出来的,就是用了最短路的算法,关于最短路的算法有很多,比如Dijkstra, Bellman, Floy

MySQL性能调优与架构设计——第 18 章 高可用设计之 MySQL 监控

第 18 章 高可用设计之 MySQL 监控 前言: 一个经过高可用可扩展设计的 MySQL 数据库集群,如果没有一个足够精细足够强大的监控系统,同样可能会让之前在高可用设计方面所做的努力功亏一篑.一个系统,无论如何设计如何维护,都无法完全避免出现异常的可能,监控系统就是根据系统的各项状态的分析,让我们能够尽可能多的提前预知系统可能会出现的异常状况.即使没有及时发现将要发生的异常,也要在异常出现后的第一时间知道系统已经出现异常,否则之前的设计工作很可能就白费了. 18.1 监控系统设计 系统监控

MySQL性能调优与架构设计——第 17 章 高可用设计之思路及方案

第 17 章 高可用设计之思路及方案 前言: 数据库系统是一个应用系统的核心部分,要想系统整体可用性得到保证,数据库系统就不能出现任何问题.对于一个企业级的系统来说,数据库系统的可用性尤为重要.数据库系统一旦出现问题无法提供服务,所有系统都可能无法继续工作,而不像软件中部分系统出现问题可能影响的仅仅只是某个功能无法继续服务.所以,一个成功的数据库架构在高可用设计方面也是需要充分考虑的.本章内容将针对如何构建一个高可用的 MySQL 数据库系统来介绍各种解决方案以及方案之间的比较. 17.1 利用