还记的上篇文章 使用观察者模式解决单 Activity 与多个 Fragment 通信 中我使用了观察者模式暂时解决了 Activity 与多个 Fragment 之间的通信问题,最后的更新中我抽象了一个 Fragmen…
标签:设计模式
最常用的设计模式
最常用的设计模式设计模式通常是对于某一类的软件设计问题的可重用的解决方案,将设计模式引入软件设计和开发过程,其目的就在于要充分利用已有的软件开发经验。 最常用的设计模式根据我的经验我把我经常用到的设计模式在这里做个总结,…
c#设计模式-工厂模式
引入人、工厂、和斧子的问题: (1),原始社会时,劳动社会基本没有分工,需要斧子的人(调用者)只好自己去磨一把斧子,每个人拥有自己的斧子,如果把大家的石斧改为铁斧,需要每个人都要学会磨铁斧的本领,工作效率极低。对应Ja…
C#设计模式——生成器模式(Builder Pattern)
一、概述在软件系统中,有时候面临着复杂的对象创建,该对象由一定算法构成的子对象组成,由于需求变化,这些子对象会经常变换,但组合在一起的算法却是稳定的。生成器模式可以处理这类对象的构建,它提供了一种封装机制来隔离各类子对象…
Page Object设计模式实践
Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性。 本…
设计模式之观察者(发布/订阅)模式
发布/订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系。当一个对象的状态(发布者)发生改变时,所有依赖于它的对象都将得到通知。在 JavaScript 开发中,我们一般用事件模型来替代传统的发布—订阅模式。 D…
Java设计模式之观察者模式
Java设计模式之观察者模式 一直想写一篇学习观察者模式的总结没有契机,今天学习阻塞队列的原理时候看到在实现生产者消费者的时候用到了通知模式,就是所谓的观察者模式,正好顺便整理一下。 1. 简介 观察者模式定义对象间的一…
Java 设计模式——代理模式 (Proxy Pattern)
什么是代理模式 客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。为其他对象提供一个代理 以控制对某个对象的访问。 远程代理 虚拟代理 Copy-on-Write 代理 保护(Pro…
设计模式--单一职责原则
设计模式实际是一代代代码人的经验总结。它会教你怎样让最初写好的代码更好维护,更少因为后期需求而改变。 There should never be more than one reason for a clas…
设计模式之美:Dynamic Property(动态属性)
索引 别名 意图 结构 参与者 适用性 效果 实现 实现方式(一):Dynamic Property 的示例实现。 别名 Property Properties Property List 意图 使对象可以为客户提供广泛…
Java 空对象设计模式(Null Object Pattern) 讲解
有时候我们的代码中为避免 NullPointerException 会出现很多的对Null的判断语句,而这些语句一旦多起来,我们的代码就会变的惨不忍睹,因此我们引入了空对象模式(null object pattern)以…
(译)React 组件设计模式基础
原文链接:React Component Patterns 作者:Gustavo Matheus 随着 React 在前端开发中越来越流行,各种各样的设计模式及新概念亦层出不穷。本文旨在总结 React 开发中一些常见的…