首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
《架构之美》阅读笔记06
时间:
2017-02-16 11:02:28
阅读:
147
评论:
0
收藏:
0
[点我收藏+]
标签:
决定
经典
msu
方法
span
font
城市
支持
架构
一、阅读内容
第五部分
第十三章 软件架构:面向对象与面向函数
第十四章 重读经典
二、笔记总结
(1)面向对象与面向函数
函数式编程能够更好的实现模块化设计。在面向对象的编程方式出现之后,我们发现面向对象的程序设计,特别是支持高级例程对象或者代理的现代形式包含了函数式编程,在保留了函数式编程的同时也提供了高层的抽象,更好的支持了扩展和复用。下面具体分析一下这两种软件架构。首先是函数式的编程方法。显然,这样的编程方式的伸缩性不好,对于较大型的项目而言,必然需要将这个项目分在不同的模块中。那么现在的扩展性问题就变成了如何使这样的修改影响到的模块尽可能的少。在模块之外很难对模块的行为进行修改。但是函数式编程依然有着十分重要的优点。第一个是简洁的定义。这和常见的命令式编程语言中的例程声明相比,语法负担要小得多。第二个优点是定义对象的组合子表达式的优雅型。另外两个优点则更显基础性。首先是能让操作成为最能够被高效处理的部分,另一个是延迟计算,能够描述一个可能无限大的计算,当然该计算的任何具体执行过程都将是有限的。面向对象编程的好处就太多了,毕竟这时当前主流的编程思想,相关的介绍已经很多了。比如维护简单。模块化是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不会影响该名字空间的其他成员。再比如可扩充性。面向对象编程从本质上支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。更重要的是代码重用。由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就非常简单了。事实上,任何一个.NET Framework编程语言的程序员都可以使用.NET Framework类库,.NET Framework类库提供了很多的功能。更令人高兴的是,我们可以通过提供符合需求的类来扩充这些功能。
(2)关于本书的思考
通过对本书的阅读,我更加认识到了软件开发和建筑物的构造过程有着异曲同工之妙。软件架构重点关注的是软件的整体,如何用一种适合系统功能需求以及非功能需求的结构方式去构建系统中的各个组件以及它们的交互过程。从一开始,软件架构从一开始就关注了整个系统的功能需求和非功能需求,在全局层面上对系统软件进行规划。一个很明显例子,如建造一个新的城市,要考虑城市建造的要求,同时还要考虑到城市与周边和地形的关系,从而决定采用什么样的架构,决定建造一个什么样的城市,如园林式还是其它式的。值得一提的是:一个具体的系统,由于系统很大,还可以划分成很多个小的子系统,那么子系统同样也需要规划的,也即同样要进行架构设计。如上述例子中具体的一个房子,要看它的功能需求是什么,如果一个办公大楼,它的局部设计架构与一个私人住宅肯定是不同的。
《架构之美》阅读笔记06
标签:
决定
经典
msu
方法
span
font
城市
支持
架构
原文地址:http://www.cnblogs.com/420Rock/p/6404425.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!