随笔分类 - 设计模式
摘要:模式及套路 模式:模版、样式;属于分类、识别的范围。 How are patterns obtained? Through : https://stackoverflow.com/questions/4243187/whats-the-difference-between-design-patter
阅读全文
摘要:复用即重用。 软件复用的内容: 1、机制复用: 包含:框架、设计模式、面向接口编程、依赖注入等; 本质是面向抽象(契约、约束)编程。侧重于软件的生长方式。 关键词:抽象与实现的分离、可扩展可替换。 2、功能复用: 定制的通用的功能代码; 通过继承或继承或直接引用; 思想:相同功能的代码不要分散在程序
阅读全文
摘要:Dependency and Coupling 抽象层是规则的制定者 面向抽象机制编程; 抽象机制是规则的制定者; 接口代表可变的参与者。 面向接口编程的核心是:分离与可变。 https://blog.csdn.net/jj_nan/article/details/70161086 一个接口可以从三
阅读全文
摘要:设计问题:谁来构造、构造什么、怎么添加新功能 关键词:本体、客体、构造、映射、功能。 别名:桥接变量、型变变量、容器变量、适配变量,构造变量; 目的:添加命名空间、添加新功能。 原则:不修改本体的实现。 原始版本: 在本体的扩展中,直接构造客体;客体的构造器输入参量为主体; 客体为具体类,直接完成本
阅读全文
摘要:所谓的抽象:只声明、未定义; 抽象机制决定了软件的架构; 关键词:动态、扩展、多态 抽象的载体: 类型抽象:协议、接口、虚基类、抽象类、泛型、基类、高阶类型; 函数抽象:高阶函数、依赖抽象类型的函数; 抽象的具体化: 继承、实现、构造; 抽象类型变量的声明(抽象的关联): 变量、参量、返回值; 抽象
阅读全文
摘要:对子系统进行整合,对外提供更强大或更便捷的接口。 在一个模块和几个子系统进行通信时考虑。 什么是外观模式? 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 简单点说:外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个
阅读全文
摘要:Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。
阅读全文
摘要:http://www.cnblogs.com/gaochundong/p/design_patterns.html#designing_for_change 寻找合适的对象 面向对象程序由对象组成,对象包括数据和对数据进行操作的过程,过程通常称为方法或操作。 对象在收到客户的请求(或消息)后,执行相
阅读全文
摘要:抽象、多样性与可变性。 抽象就是把事物归类便于管理 比如自然界也是有动物和植物这样分类的,动物下面也有细分,这就是大类小类。把相同点提出来就是抽象。 抽象的层级越高,可归类的具体越多,多样性就越大,相对软件来说可变性和可扩展型就越多。 抽象是通过对比、分析找出事物的共性,对事物进行归类的过程。
阅读全文
摘要:是程序的基础和稳定的部分(组件与关系) 所以能看清整体, 目的是看清整体或看的层次更高
阅读全文
摘要:组件原则 - SRP The Single Responsibility Principle 单一责任原则 当需要修改某个类的时候原因有且只有一个。换句话说就是让一个类只做一种类型的责任,当这个类需要承担其他类型的责任的时候,就需要分解这个类。 - ISP The Interface Segrega
阅读全文
摘要:S.O.L.I.D是面向对象设计和编程中5个重要编码规则的首字母的缩写。 - SRP The Single Responsibility Principle 单一责任原则 当需要修改某个类的时候原因有且只有一个。换句话说就是让一个类只做一种类型的责任,当这个类需要承担其他类型的责任的时候,就需要分解
阅读全文
摘要:http://blog.csdn.net/lihao21/article/details/47610309 Pimpl(pointer to implementation, 指向实现的指针)是一种常用的,用来对“类的接口与实现”进行解耦的方法。这个技巧可以避免在头文件中暴露私有细节(见下图1),因此
阅读全文
摘要:http://zhidao.baidu.com/link?url=cfRIgIL2YrU9HnKFvDCIBBWopD3lFIlBdNgazFpEIfcRyjcjLDpHtZE1hM-V3rExCimreXVvapq64IlOB9vT0a “对可变性的封装原则”(Principle of Encap
阅读全文
摘要:http://blog.csdn.net/zhengzhb/article/details/7296944 其实笔者认为,开闭原则无非就是想表达这样一层意思:用抽象构建框架,用实现扩展细节。因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节,我们用从抽象派生的
阅读全文