![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件设计模式
峰哥的Android进阶之路
在某互联网公司搞Android,希望自己慢慢成长,进阶成为高级工程师,架构师,加油^0^~
展开
-
软件设计模式-中介者模式(仲裁者模式)总结
类图目的“定义一个封装-系列对象交互的对象。Mediator通过防止对象间显示地相互引用来促使松耦合,且可以独立地改变他们之间的交互。"[GoF]要解决的问题如何避免一组交互对象之间的紧密耦合?如何独立改变一组对象之间的相互作用?解决方案定义一个单独的Mediator对象,该对象封装一组对象之间的交互方式。对象与Mediator对象交互,而不是彼此直接交互。动机紧耦合的colleague。一组colleague通过互相引用和知道彼此而直接进行交互(紧耦合)紧耦合的原创 2020-05-21 08:18:17 · 421 阅读 · 0 评论 -
软件设计模式-外观模式总结
目的为子系统的一组接口提供统一的接口。Façade定义了使子系统更易于使用的更高级别的接口。要解决的问题复杂的软件系统通常被构造(分层)成子系统复杂子系统的客户端引用并了解(取决于)许多不同的对象(具有不同的接口),这使得客户端与子系统紧密耦合,紧密耦合的对象很难实现,更改,测试和重用。因为它们依赖许多不同的对象如果我们要最小化对子系统的依赖性,则避免这种方法复杂的子系统应...原创 2020-05-03 20:21:40 · 496 阅读 · 0 评论 -
软件设计模式-装饰器模式总结
装饰模式:目的动态地将额外的责任附加到对象上。装饰器提供了一个灵活的子类扩展功能的替代方法。要解决的问题子类化是在编译时静态扩展类功能(向类添加职责)的标准方法。实例化子类后,该功能将在其生命周期绑定到该实例,并且无法在运行时进行更改。如果我们想在运行时扩展对象的功能,而不是在编译时扩展类的功能,则可以避免这种方法。解决方案定义单独的Decorator对象:定义一个...原创 2020-05-02 17:17:39 · 324 阅读 · 0 评论 -
软件设计模式-职责链模式总结
目的通过给多个对象处理请求的机会,避免将请求的发送方与其接收方耦合。将接收对象串联起来,将请求沿链传递,直到有对象处理请求为止要解决的问题如何避免将请求的发送方耦合到其接收方 多个对象如何处理请求解决方案(1)这使得请求的发送者与其接收者之间的松散耦合成为可能(2)发送者请求的对象不了解最终将处理该请求的对象(接收者)。可以在运行时动态指定对象(3)链Handler(Hand...原创 2020-05-02 17:10:11 · 295 阅读 · 0 评论 -
软件设计模式-Singleton设计模式解决方案
Singleton设计模式描述了什么解决方案:1.让类自身负责其只能实例化一次。2.定义一个公共静态操作以提供该类的唯一实例。3.定义一个静态操作以提供类的唯一实例。子类不能重新定义静态操作。4.将类的构造函数设为私有,这样就永远不能从类外部实例化该类。...原创 2020-04-30 10:28:50 · 141 阅读 · 0 评论 -
软件设计模式-Singleton设计模式解决的问题
Singleton设计模式解决了什么问题:1.如何确保一个类只有一个实例?2.如何确保一个类只有两个实例?3.如何限制一个类的实例数4.一个类控制(并负责)如何实例化它5.如何避免创建大量不必要的对象...原创 2020-04-30 10:16:09 · 133 阅读 · 0 评论