架构之路:前言目录

简介: +++++++++++++++++++ 2016年11月23日 补充 后续行动:倡议:我们“一起帮” +++++++++++++++++   终于决心再一次开始这个系列的博客了。之所以说再一次,是因为我之前曾经试着写过这样一个系列,但中途却不得已停了下来。

+++++++++++++++++++

2016年11月23日 补充

后续行动:倡议:我们“一起帮”

+++++++++++++++++

 

终于决心再一次开始这个系列的博客了。之所以说再一次,是因为我之前曾经试着写过这样一个系列,但中途却不得已停了下来。我总记得“之前”就是一两年前,查看博客后才发现原来那居然已经是三年前了!不禁感慨岁月如梭,时间都去哪儿了?大概我转行做软件开发的时候,我的小女儿也开始孕育。如今,她已经是亭亭玉立的一个小姑娘,天真浪漫;而我这六七年的收获呢?

 

我学计算机学开发,目的很明确,就是奔着“架构”来的。当然,最初我不知道这个名词,我以为我就是去学“做网站”的。什么时候能够学会?最开始我以为三个月应该够了,然后延期到六个月,再延期到一年、两年……直到现在。在这个过程中, 我算是深刻的体会到“学无止境”,或者“学得越多越觉无知”是什么意思。

 

三年前觉得自己应该有资格可以显摆一下了,但到中途却越来越迷茫困惑,所以不得已再去摸索实践。没想到,这一摸索实践,又是三年过去了!三年过去了,实事求是的说,我比三年前更心虚了:一些以前深信不疑的观点变得犹豫起来,一些从未有过的想法时不时的蹦了出来,新的技术猛烈的冲击着旧有的体系……我会不会还是误人子弟而已?

 

思前想后,我还是下定决心,重新开始这个系列。因为我百分百的相信,即使再过三十年,我也不会成为一个完美的架构师拥有一个完美的架构。所以,没有必要等到“完美”,也不可能有真正的“完美”。就在现在吧,把我的所学所思所得都展示出来,和大家一起交流碰撞,于人于己,都善莫大焉。

 

架构太难了!准确的说,是把架构做好太难了。

 

我曾经把技能分为两类:会和好。比如:“我会写字”和“我字写得好”,这完全是两种不同的境界。“会”其实很容易,而“好”则很难。而很不幸,架构就是一个专注于“好”而不是“会”的技能领域。任何一个系统,无论大小好坏,都有架构;所以只要能开发出一个系统,就已经“会”架构了。但我们的关注点,显然在于如何进行“好”的架构。这个问题如此难以问答,以至于我还没有发现过一本专门论述该问题的书籍。被奉为经典的《企业应用架构模式》更像是一个架构汇编,告诉我们有哪些哪些架构模式而已(当然,我们不能否定它的巨大价值);其他类似的书籍实际上也未能给出明确的答案。在网上,相关的问题通常最后演变成一场“口水战”,让人眼花缭乱最终不知该何去何从。

 

我实在查不到这段话的出处,但大意是:为什么讲解架构这么难(比如为什么要分层要抽象要封装)?因为如果没有一个足够复杂逻辑的例子,就无法展示这样做的好处;但如果给出一个足够复杂逻辑的例子,就不得不花费大量的篇幅首先讲明这一堆复杂的逻辑,而读者在晕头转脑的理解这些复杂业务逻辑之后,很难再有精力来思考架构的技术问题本身。

 

所以我最后决定采用这种方式来学习:自己去搭建一个有足够复杂业务逻辑的系统,在实践中一步步的学习领会各种架构知识。这是一个很笨的方法,但确是一个很有效的方法。伴随着系统的不断开发完善,书上的很多说法得以印证,我之前的很多想法得以改变。每写一行代码,我都能感觉到我的一分进步!软件开发是一门实践艺术,坐而论道往往不如身体力行,正应了那句话,“纸上得来终觉浅,绝知此事要躬行”。

 

所以,接下来我将以两个目前仍在开发的项目(详见:英雄帖:开源项目招募英才)为例,一步一步的讲解,如何通过领域驱动和测试驱动,进行敏捷开发,构建一个面向对象的B/S系统。

相关文章
|
6月前
|
缓存 Ubuntu 数据库
百度搜索:蓝易云【Ubuntu系统目录架构详解】
这是Ubuntu系统目录架构的主要部分,每个目录都有其特定的用途,合理使用目录结构可以使系统更加有序和易于管理。
80 2
|
存储 关系型数据库 MySQL
第02章 MySQL的数据目录【1.MySQL架构篇】【MySQL高级】
第02章 MySQL的数据目录【1.MySQL架构篇】【MySQL高级】
977 0
|
4月前
|
Java Maven 开发者
gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
gradle项目对比maven项目的目录架构以及对gradle wrapper的理解
40 0
|
6月前
|
运维 Linux Apache
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
279 2
|
6月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
151 1
|
运维 监控 网络协议
【运维知识进阶篇】集群架构-Nginx常用模块(目录索引+状态监控+访问控制+访问限制)(下)
【运维知识进阶篇】集群架构-Nginx常用模块(目录索引+状态监控+访问控制+访问限制)(下)
84 0
|
运维 监控 应用服务中间件
【运维知识进阶篇】集群架构-Nginx常用模块(目录索引+状态监控+访问控制+访问限制)(上)
【运维知识进阶篇】集群架构-Nginx常用模块(目录索引+状态监控+访问控制+访问限制)
101 0
|
6月前
|
网络协议 Linux 测试技术
NFS - MIPS架构下构建NFS共享目录服务
NFS - MIPS架构下构建NFS共享目录服务
195 1
|
存储 分布式计算 Hadoop
[大数据架构 ]Apache大数据项目目录
[大数据架构 ]Apache大数据项目目录

热门文章

最新文章