《架构之美》阅读笔记05

  《架构之美》——软件架构,面向对象与面向函数。架构之美,美”作为软件架构的口号,并不是由旁观者来判定的,其实早就存在一些明确的标准:可靠性、可扩展性、复用性。可靠性即为该架构能否帮助我们创建出正确、健壮的软件?可扩展性即为应对变化是否很容易?复用性即为该解决方案是否具有通用性?或者甚至可以将其作为一个组件直接插入到新的应用程序中,而无需做定制开发?同时还要注意一些限制:较少的数据点、细节不足、具体关注、实验者偏差。函数式有四个重要的优点,一是表示法,简介的定义正式函数式编程语言吸引人之处。而是定义对象的组合子表达式的有雅兴。三十能够让操作成为“一等公民”,这是一个很常用的说法,就像我们说“程序中的对象”或者“数据”是Lisp语言中的“一等公民”,也就是它是最能够本搞笑处理的部分。最后一个优点是延迟计算,它能够描述一个可能无限大的计算,当然该计算的任何具体执行过程都将是有限的。对于模块化的可复用性和可扩展性。在复用操作中使用继承的原则之一是讲公共特性放在可应用的最高等级类上,这样在子孙类中就无需重复他们,也就是说继承关系就是“as is”。如果既需要保留该功能,又需要修改其实现,那么只需要中心定义(或“重载”)继承而来的版本即可。在可扩展性中,系统最常见的扩展形式就是添加新的类型。很多人认为代理对对象技术的模块性还是用贡献的,但它只是所有元素中的一个,这些在前面的讨论中有涉及,但只有一小部分。它是这些元素的组合体。超出了函数式方法所能够提供的函数,使面向对象设计成为了构架美妙架构的最有效方法。

  重读经典。在软件工程方面,值得被纪念的勋章的应该是《设计模式:可复用面向对象软件的基础》。设计模式的普及应该要归功于《设计模式》一书,它不仅可以看做是设计模式运动的起始点,也可以看作是返回点:与涉及模式相关的内容非常多,但关于这个主题的大多数讨论都是围绕这本书中列出的设计模式。在这本书中提到的23个模式可以说是经典之最。对于设计模式,现在的我们只是笼统的学习了一遍,但是对于我们开发来说并起不到什么作用,我们很少或者根本没有人会使用这些设计模式。在我看来,当我们工作了3-4年之后,积累了大量的经验和代码之后,对设计模式的理解会更加深刻,对它的掌握程度也是会越加的熟练。自然运用起来也能得心易手。多用“面向对象”而减少使用“继承”,这使得一些开发工作会变得更加简洁。就像Smalltalk,它的设计原则、语言架构都十分合理,并对后来的变成发展产生了巨大的发展。

posted @ 2017-02-17 20:38  会飞的鱼摆摆  阅读(125)  评论(0编辑  收藏  举报