[转]软件架构师书单

    "其实中国程序员,现在最需要的是一张安静的书桌。",的确,中国架构师大多缺乏系统的基础知识,与其自欺欺人的宣扬"读书无用,重在实践变通,修身立命哲学书更重要",把大好时间用来追逐互联网上的片言只语,不如直面缺陷,系统的学习一次。

    书单越读越薄,好书真的不多哇。

   一、Software Architecture篇

     这个领域没有什么"畅销书",可能读者中本来就是开发设计人员与项目经理占了多数,真正定位为架构师而且做的也是架构师工作的不多吧,你懂的尽是偏僻的人生。

 《Software Architecture in Practice,2nd Edition--软件构架实践(第2版)》

   第一版是第九届JOLT作品,一本被引用很多的架构书。

《Documenting Software Architectures --软件构架编档》

   第13届JOLT大奖作品,捕获架构的过程,徐昊推荐。

《Applied Software Architecture --实用软件体系结构》

   另一本被引用很多的架构之书。

  

       

二、UML 篇

  UML、4+1视图始终是架构师界最通用的东西,寻找一种向世界妥协的方式。

 1. 《UML Distilled 3rd

      没什么特别想推荐的UML工具书,选本最薄的吧。

 2.《The Elements of UML 2.0 Style

     胜在没有同类书。

 3.《UML和模式应用(第3版)--Applying UML and Patterns 3rd》
   UML+RUP作的OOAD过程。

三、特定领域篇

    开发人员有GOF23 Pattern,架构师同样也有架构师的Pattern。不同领域的架构师需要不同的知识。
1. 公共领域
《Domain-Specific Application Frameworks --特定领域应用框架:行业的框架体验》
  ozzzzzz推荐,介绍了30个特定领域特定框架的设计。

《Head First Design Patterns》 
  最好的GOF23经典设计模式阐释,适合被[GAMMA95]折磨的架构师拿来复习,中文版即将发行。

 

2. Java EE领域 
  《Patterns of Enterprise Application Architecture --企业应用架构模式》
    
 Martin Fowler老书,企业应用各层上的模式。   
  

  《Effective Enterprise Java--中文版》    
      Neward, Ted作品,作者学贯东西(.Net与Java),像写Blog一样,每一页里面都有大量的信息。

      可惜两本都比较旧了,没有新版。

 
3. EAI/SOA领域 
《Enterprise Integration Patterns --企业集成模式:设计、构建及部署消息传递解决方案》

 

4. 网络与后台服务编程领域
《Pattern-Oriented Software Architecture, Volume 2 --面向模式的软件体系结构 卷2:用于并发和网络化对象的模式》

《Pattern-Oriented Software Architecture, Volume 3
--面向模式的软件体系结构卷3:资源管理模式》

    著名的POSA2与POSA3。
   

四、闲书篇

《Code Complete 2 --代码大全2》 
   一本你教育小弟时的代言人。

《The Pragmatic Programmer --程序员修炼之道:从小工到专家》 
   一本你启发小弟的代言人。

《The Art of Unix Programming --UNIX编程艺术》


 

转载于:https://www.cnblogs.com/Jackey_Chen/articles/1303568.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python免杀技术---复现+改进----1

0x01 复现 复现文章:https://mp.weixin.qq.com/s?__bizMzI3MzUwMTQwNg&mid2247484733&idx2&sn5b8f439c2998ce089eb44541d2da7a15&chksmeb231%E2%80%A6 首先用cobaltstruke生成一个python的payload脚本 然后复制里面的payload进行Base64编码&…

python安全攻防---信息收集---IP查询

IP查询是通过当前所获得的URL去查询对应IP地址的过程,可应用Socket库函数中的gethostbyname()获取域名所对用的IP值 程序如下: # -*- coding:utf-8 -*- IP查询import socket ip socket.gethostbyname(www.baidu.com) print(ip)运行结果: …

智能课程表Android版-学年学期星期的实现

上次我们实现了日期和时间的动态显示,这次我们来实现学年,学期,周次的显示,如图: 首先是学年学期的显示: Calendar cCalendar.getInstance(); int yearc.get(Calendar.YEAR); int monthc.get(Calendar.MONTH)1;//Calen…

python安全攻防---信息收集---whois查询

whois是用来查询域名的IP以及所有者信息的传输协议。简单地说,whois就是一个数据库,用来查询域名是否以及被注册,以及注册域名的详细信息(如域名所有人、域名注册商等)。 使用whois查询,首先通过pip安装py…

百度面试题:从输入url到显示网页,后台发生了什么?

参考http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ http://www.cnblogs.com/wenanry/archive/2010/02/25/1673368.html 原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ 作为一个软件开发者,你一定会…

python安全攻防---爬虫基础---get和post提交数据

get提交数据1 get提交的数据就附在提交给服务器的url之后,以?开头参数之间以&隔开,例如/admin/user/123456.aspx?name123&id123 案例:写个脚本,在sogou自动搜索周杰伦,并将搜索页面的数据获取 程…

python安全攻防---爬虫基础--re解析数据

0x01 re基础 使用re模块,必须先导入re模块 import refindall():匹配所有符合正则的内容,返回的是一个列表 import restr "我的电话:10086,女朋友电话:11011" list re.findall(\d,str) print…

python安全攻防---爬虫基础---BeautifulSoup解析

0x01 基础 使用bs4首先要安装,安装后导入 import bs4bs对象有两个方法,一个是find,另一个是find_all find(标签名,属性值):只返回一个,返回也是bs对象,可以继续用find…

Java——Socket通信原理

* Socket通信原理图解* A:Socket(中文翻译为:电源插座)套接字概述* 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识套接字* 通信的两端都有Socket(两端都是电源插座,中间是啥?不就是电线啦,电…

python安全攻防---scapy基础---计算机网络各层协议

网络层次划分 比较常用的是TCP/IP五层协议。 0x01应用层 应用层是网络应用程序以及它们的应用层协议存留的地方。应用层协议和应用程序直接挂钩 DHCP(Dynamic Host Configuration Protocol)动态主机分配协议,使用 UDP 协议工作,主要有两个用途&#xf…

Java——UPD输出及优化再优化

* UPD传输不区分客户端跟服务端,* 这里用Send和Receive这两个方法决定谁发谁收 * 1.发送Send * 创建DatagramSocket,随机端口号* 创建DatagramPacket,指定数据、长度、地址、端口* 创建DatagramSocket发送DatagramPacket* 关闭DatagramSocket 代码如下&…

python安全攻防---信息收集---ICMP主机探测 以及optionparser的使用

0x01 基础概念 ICMP(Internet control Message Protocal)Internet报文协议,是TCP/IP的一种子协议,属于网络层协议,其目的是用于在IP主机、路由器之间传递控制信息 0x02 程序 程序 # -*- coding:utf-8 -*- from sca…

第一章 基础知识---1.4Crack小实验--复现

0x01 程序及其编译环境 程序如下&#xff0c;功能&#xff1a;我们必须输入正确的密码1234567才能得到密码验证的确认&#xff0c;跳出循环。否则程序提示密码错误再次输入。 #include <stdio.h>#define PASSWORD "1234567"int verify_password(char* passwo…

.net中调用exchange服务器发邮件

普通的邮件, 用System.Net.Mail 类 或 System.Web.Mail 类 处理即可, 但是Exchange Server 环境下, 这两个类起不了作用-------至少目前我看到的情况如此. 整个过程如下: 1. 先添加COM 引用 "Microsoft CDO for Windows 2000 Library" .2. 发送邮件的代码: CDO.Messa…

端口复用和重映射--STM32F103

什么是端口复用&#xff1f; STM32中有很多内置外设&#xff0c;这些外设的引脚都是与GPIO复用的&#xff0c;什么时候复用呢&#xff1f;就是当一个GPIO作为内置外设引脚使用时&#xff0c;就叫做复用。比如串口1的发送接收引脚是PA9&#xff0c;PA10&#xff0c;当PA9&#…

[转]Ubuntu远程桌面登陆

原文地址&#xff1a;http://www.cnblogs.com/xdzone/archive/2011/03/10/1979644.html 1.xp下默认的远程桌面协议是rdp&#xff0c;默认端口3389&#xff0c;而ubuntu用的时vnc&#xff1a;默认端口5900 2.首先被访问的主机&#xff08;windows/linux&#xff09;都要设置为允…

NVIC中断管理---STM32

NVIC&#xff1a;嵌套向量中断控制器 在了解中断之前&#xff0c;我们先了解抢占优先级和响应优先级 抢占优先级和响应优先级 抢占优先级决定能不能打断&#xff0c;高优先级的抢占可以中断低优先级的抢占响应优先级在抢占优先级相同时&#xff0c;高响应优先级先执行&#x…

外部中断---STM32F1

外部中断概述 STM32的中断控制器支持19个外部中断/事件请求&#xff1a; 线0-15&#xff1a;对应外部IO口的输入中断线16&#xff1a;连接到PVD输出线17&#xff1a;连接到RTC闹钟事件线18&#xff1a;连接到USB唤醒事件 STM32每个IO口都有可以作为外部中断输入&#xff0c;…

转:点9图

关于”点九” 转&#xff1a;http://mux.baidu.com/?p1506“点九”是andriod平台的应用软件开发里的一种特殊的图片形式&#xff0c;文件扩展名为&#xff1a;.9.png 智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向…

串口通信的基本原理----STM32

串口通信基本原理 1. 处理器与外部设置通信的基本方式 并行通信&#xff1a;数据各个位同时传输串行通信&#xff1a;数据按位顺序传输 在串行通信中&#xff0c;按照数据的传输方向&#xff0c;又分为&#xff1a; 单工&#xff1a;数据传输只支持在一个方向传输半双工&am…