随笔分类 - 软件架构
摘要:控制翻转和依赖倒置:强调的是建立稳定的抽象层; 依赖注入:强调的是程序的扩展性,新添加的功能如何与抽象层或者架构层建立联系。 抽象的依赖由抽象决定,具体的依赖由实现决定。 https://segmentfault.com/a/1190000002424023 依赖关系的控制反转到调用链的起点。这样你
阅读全文
摘要:http://www.cnblogs.com/DebugLZQ/archive/2013/06/05/3107957.html 博文目录 1.IOC的理论背景 2.什么是IOC 3.IOC也叫依赖注入(DI) 4.IOC的优缺点 5.IOC容器的技术剖析 6.IOC容器的一些产品 7.参考博文 本文
阅读全文
摘要:抽象类的作用: 1)构建子类的共有属性; 2)制定子类的接口规范。 3)提供一些公共服务功能(子类复用); 4)建立稳定的抽象层依赖(便于架构层面的整体复用)。 5)便于功能的扩展,新建的子类,通过注入接口能够很便利的与系统原有架构发生联系。 其它观点: 一、抽象类提供了部分实现,使子类可以重用部分
阅读全文
摘要:http://blog.csdn.net/horkychen/article/details/45381743 什么是软件设计的复杂度 软件技术发展的使命之一就是控制复杂度(Complexity)。从高级语言的产生,到结构化编程,再到面向对象编程、组件化编程等等。关于复杂度的定义并不一致,想要详细了
阅读全文
摘要:http://zhidao.baidu.com/link?url=cfRIgIL2YrU9HnKFvDCIBBWopD3lFIlBdNgazFpEIfcRyjcjLDpHtZE1hM-V3rExCimreXVvapq64IlOB9vT0a “对可变性的封装原则”(Principle of Encap
阅读全文
摘要:软件设计的三原则:模块化、抽象和信息隐藏
阅读全文
摘要:软件的不可变: 软件架构应该具有一个稳定的抽象层或基础层。 稳定:抽象层或基础层的接口和对象间的依赖关系或协作关系应该保持稳定。 可变性:接口的具体实现可以不同,在接口不变的前提下。 根据开闭原则,应该是抽象层的接口和依赖关系保持稳定,对于实现的多样性保持开放。
阅读全文
摘要:http://www.cnblogs.com/xyqCreator/archive/2012/11/06/2756687.html 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就 不那么重要了; 而各个对象之间的
阅读全文
摘要:http://www.cnblogs.com/snandy/p/3189379.html 模块化这个词最早出现在研究工程设计中的《Design Rules》,这本探路性质的书中。其后模块化原则还只是作为计算机科学的理论,尚不是工程实践。此时硬件的模块化一直是工程技术的基石之一。如标准螺纹、汽车组件、
阅读全文
摘要:关注点分离(separation of concerns,SOC)是对只与“特定概念、目标”(关注点)相关联的软件组成部分进行“标识、封装和操纵”的能力,即标识、封装和操纵关注点的能力。是处理复杂性的一个原则。由于关注点混杂在一起会导致复杂性大大增加,所以能够把不同的关注点分离开来,分别处理就是处理
阅读全文
摘要:http://jpkc.whu.edu.cn/jpkc/dxqyxxxtfgnjg/dzja/dzjc/jc2.htm 1.2.1 软件架构概念:组成派 关于软件架构的概念,有太多版本,这对我们的实践也造成了很多麻烦。笔者认为,可以将这些概念大致分为两大流派:组成派和决策派。 Mary Shaw在《
阅读全文
摘要:http://blog.csdn.net/zhengzhb/article/details/7296944 其实笔者认为,开闭原则无非就是想表达这样一层意思:用抽象构建框架,用实现扩展细节。因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节,我们用从抽象派生的
阅读全文