随笔分类 -  设计模式

摘要:动机(Motivation) 在软件系统中,经常面临着”一系列相互依赖的对象“的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。 如何应对这种变化?如何绕过常规的对象创建方法(new),提供一种”封装机制“来避免客户程序和这种”多系列具体对象创建工作“的紧耦合。 阅读全文
posted @ 2019-10-13 09:48 Maurice-code 阅读(117) 评论(0) 推荐(0)
摘要:代理模式 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 阅读全文
posted @ 2019-10-13 09:47 Maurice-code 阅读(103) 评论(0) 推荐(0)
摘要:单例模式 控制这个A类型的对象个数,单例模式。系统中只有一个对象。 注意:一般来说,单例模式的类不需要考虑释放内存,因为只有一份。 阅读全文
posted @ 2019-09-29 17:04 Maurice-code 阅读(170) 评论(0) 推荐(0)
摘要:简单工厂模式 工厂方法模式 问题,1、类的个数成倍增加,导致类越来越多,增加维护成本。 好处,1、符合开闭原则 简单工厂模式 + “开闭原则” = 工厂方法模式 优点:1,不需要记住具体类名,甚至连具体参数都不用记忆。 2,实现了对象创建和使用的分离。 3,系统的可扩展性也就变得非常好,无需修改接口 阅读全文
posted @ 2019-09-29 16:16 Maurice-code 阅读(324) 评论(0) 推荐(0)
摘要:设计模式的基础是:多态。 设计模式综览表: 单例模式:是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 简单工厂模式:通过专门顶一个一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类。 工厂方法模式:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。 抽象工厂模式:提供 阅读全文
posted @ 2019-09-29 10:41 Maurice-code 阅读(569) 评论(0) 推荐(0)
摘要:重构的关键技法: 静态 -> 动态 早绑定 -> 晚绑定 继承 -> 组合 编译时依赖 -> 运行时依赖 紧耦合 -> 松耦合 "组件协作"模式 现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序间的松耦合,是二者之间协作时常用的模式。 典 阅读全文
posted @ 2019-09-28 19:00 Maurice-code 阅读(201) 评论(0) 推荐(0)
摘要:深入理解面向对象 向下:深入理解三大面向对象机制 封装,隐藏内部实现 继承,复用现有代码 多态,改写对象行为 向上:深刻把握面向对象机制所带来的抽象意义,理解如何使用这些机制来表达现实世界,掌握什么是“好的面向对象设计”。 如何解决复杂性? 分解:人们面对复杂性有一个常见的做法,即分而治之,将大问题 阅读全文
posted @ 2019-09-28 15:21 Maurice-code 阅读(155) 评论(0) 推荐(0)