每位开发者都努力写出可维护的、易读的、可复用的代码。随着应用变得越来越大,代码的结构也越来越重要。设计模式验证了解决这个挑战的重点——在特定环境中,对同类事物提供相同的组织结构。 JavaScript web开发者们在开…
【Android 设计模式系列】卖热干面的启发 ---Builder 模式
本系列文章由阿里大神“名俊” 授权独家发布 看个故事 互联网寒冬来袭, 小光越来越觉得码农这个行当不太好混了. 年关将至, 思乡之情也是倍切. 心底一横, 要不直接回老家做点小买卖得了~ 说做就做, 小光辞了工作, 回到…
外卖(饿了么)APP 原型资源分享
2017版「饿了么」APP原型资源分享,组件库和原型均可下载使用。 恭喜你!又获得一套「饿了么」APP原型!^_^o~ 这期的分享主题是「外卖」,于是,作为一个一年365天能在「饿了么」上下单1000多单的死忠粉,我速度…
借助工厂模式构建不同的 Fragment
还记的上篇文章 使用观察者模式解决单 Activity 与多个 Fragment 通信 中我使用了观察者模式暂时解决了 Activity 与多个 Fragment 之间的通信问题,最后的更新中我抽象了一个 Fragmen…
设计模式学习之组合模式 (composite)
我还是坚信学以致用是最有效率的学习方式,也继续这样实践下去。今天来实现组合模式,加深看书的印象。组合模式应用的地方有很多,unity是我觉得最彻底的一个应用,什么都是组件,连脚本都是。那么对于一个游戏引擎来说,绘制就是其…
从入门到精通: Growth Hacker (增长黑客)必读的 10 本书籍
本文节选自 GrowingIO 2017年第1期电子书《增长黑客手册:如何用数据驱动爆发式增长》 Growth Hacker (增长黑客)的概念这两年在国内越来越火,除了范冰的《增长黑客》一书,很多人还想了解更多跟 Gr…
谈谈集合遍历与 NSFastEnumeration
数组遍历或集合遍历可能是程序员每天都会接触到的事情。图灵完备中也要求程序必须可以有条件进行跳转,而集合遍历的过程一定离不开条件跳转,所以这种循环结构就是计算机中非常优美的地方。 到目前为止如果谈到数组遍历问题,我会想到下…
Builder 模式演义 (2)——OkHttp 源码中的 Builder 模式
引言 在上一篇Builder模式演义(1)中介绍了Builder模式的标准形式,以及两种基本变换——链式调用和省略指挥者角色。本文将通过分析OkHttp源码阐述Builder模式的另外两种变换——省略抽象Builde…
使用观察者模式解决单 Activity 与多个 Fragment 通信
就目前而言,我所知道的 activity 与 fragment 之间通信方式还是很多的。比如: Handler 方式 接口方式 公有方法 广播方案 EventBus 稍微分析下这五种方法,Handler 方式是了解了 H…
Builder 模式演义
引言 不用怀疑,你一定遇到和使用过它,它在Android源码和各种开源组件中是如此常见。这是一种你可以不知道怎么运用,但是知道了会欲罢不能的设计模式。 定义 Builder模式(建造者模式,有人称作生成器模式),…
单例模式的写法(看完这个就够了)
不管以那种形式实现单例模式,核心原理就是将构造函数私有化,并且通过静态方法获取一个唯一的实例。在这个获取过程中必须保证线程安全、防止序列化导致重新生成实例对象等问题。 1.懒汉式 添加synchronized可以在多线程…
CS 科普 —— 万物皆对象
题图来自 Cyandev 随便画的。 从 C 语言诞生起,面向对象这个概念就开始被提出。结构体也许是最简单的组织一类事物的事物,只不过 C++ 出现后,继承、多态的概念才产生。面向对象的重要思想是一切皆是对象。C++ 对…