老子的软件之道 - 道篇 2 软件架构 – 难中求易

本文引用了古代智慧探讨软件架构的本质,认为建立企业级软件架构虽然困难,但为了简化具体应用系统的开发与维护至关重要。软件架构的设计应关注共性需求,通过看似无为的过程,最终实现对各种应用的有效支撑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:软件哲学、软件之道、银弹、人狼、软件架构 参阅:消灭人狼软件的十大命题编程规则

2 软件架构 – 难中求易

圣人曰天下皆知美之为美,斯恶矣;皆知善之为善,斯不善已。故有无相生,难易相
成,长短相形,高下相倾,音声相和,前後相随。是以圣人处无为之事,行不言之
教。万物作焉而不辞。生而不有,为而不恃,功成而弗居。夫唯弗居,是以不去。

现代科学之父爱因斯坦发现了相对论,实际上相对论可是老圣人最先发明的啊(开个玩笑)。比如美与丑、善与恶,易与难、长与短、高与下、前与后、音与声、有与无,它们的关系都是相互对立的,同时又是相互依存的。如果不能辩证地看待它们,矛盾就不可能得到很好地解决。世人多追求前者,而厌恶后者,其结果往往求之而不得。老子向世人指明的是,求“有”须向“无”中求;得“易”必须通过难。

建立企业级的软件架构(EAA)是困难的,但是为了使具体的应用系统“”与开发和维护,必须建立EAA;软件大师关注各应用功能的共性需求,思考设计与具体功能无关的EAA,不是侃侃而谈,而是敏于行动,建立起似乎无为无用的EAA;各种应用系统如雨后春笋,在EAA的土壤上成长繁荣,但它既不把持,又不争夺和替代应用的具体功用,因此它能够成为应用的恒久支撑。

注:圣人是多么敏锐啊,开局两章就道出了软件之道的核心,抽象是道性,EAA是道体。

第1 了解开源软件 第1章 开源软件概述 1.1 开源软件的理解 1.2 开源软件的定义 1.3 开源软件定义的意义 1.4 开源软件和其他类型软件的比较 第2章 开源软件的历史与未来 2.1 开源软件的历史 2.2 开源运动背后的理想与现实 2.2.1 理想主义的兴起 2.2.2 技术精英的推动 2.2.3 现实业界的需 2.3 开源社区的壮大 2.4 开源软件的领袖 2.5 开源软件的未来 第3章 开源软件的好处 3.1 高质量 3.2 零许可证费 3.3 开放和自由 3.4 灵活可定制 3.5 公开透明 3.6 良好的学习平台 第4章 开源软件的成本 4.1 部署和迁移成本 4.2 人员和培训成本 4.3 管理维护和技术支持成本 4.4 风险控制成本 第2 使用开源软件 第5章 正确使用开源软件 5.1 管理体制 5.2 法律风险 5.2.1 法律因素之著作权 5.2.2 法律因素之许可证 5.2.3 法律因素之专利 5.2.4 问题解析 5.2.5 验证著作权,正本清源 5.2.6 调查专利,借力打力 5.2.7 解读许可证,明察秋毫 5.3 成熟度 5.3.1 优秀的领导者 5.3.2 差异化的开发者社区 5.3.3 庞大的优质用户群 5.3.4 健康的项目“脉动” 5.3.5 健全的安全补丁体制 5.3.6 较完善的文档 5.4 服务 5.5 寻找合适的开源软件 第6章 开源软件之语言和平台 6.1 Harmony 6.2 Android 6.3 Python 6.4 Ruby 6.5 PHP 6.6 Groovy 6.7 Perl 6.8 Flex 6.9 OpenLaszlo 第7章 开源软件之框架和库 7.1 Spring 7.2 Struts 7.3 JBossSeam 7.4 Equinox 7.5 Hibernate 7.6 iBATIS 7.7 Lucene 7.8 Webkit 第8章 开源软件之服务器软件 8.1 ApacheHTTP服务器 8.2 Tomcat 8.3 Jetty 8.4 Geronimo 8.5 JBoss 8.6 GlassFish 8.7 MySQL 8.8 PostgreSQL 8.9 Derby 8.10 FileZillaServer 第9章 开源软件之开发工具 9.1 Eclipse 9.2 NetBeans 9.3 ApacheAnt 9.4 ApacheMaven 9.5 CVS 9.6 Subversion 9.7 GIT 9.8 Bugzilla 9.9 JUnit 9.10 TestNG 第10章 开源软件之桌面应用 10.1 GNOME 10.2 OpenOffice.org 10.3 Emacs 10.4 Firefox 10.5 Thunderbird 10.6 GIMP 10.7 FreeMind 10.8 7-Zip 第3 参与开源项目 第11章 开源社区的基础设施 11.1 基础设施 11.1.1 主页(HomePage) 11.1.2 代码库(CodeRepository) 11.1.3 邮件列表(MailingList) 11.1.4 缺陷追踪系统(BugTrackingSystem) 11.1.5 Wiki 11.1.6 其他 11.2 开源项目托管网站 第12章 开源组织和社区 12.1 Apache软件基金会 12.1.1 Apache的历史 …… 第13章 商业模式与实例 第14章 参与开源社区 第15章 开创事业
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值