‘从大处着眼,从小处着手’,以前对这句话一知半解,自从踏出校门走入社会,开始工作以来,有了越来越深的理解,偶有发现这句话用在程序开发中也有用,所以,近段时间开始尝试着分析jQuery源码,分析angularjs源码,学习…
分类:设计模式
设计原则之旅(一):单一职责
简称: 单一职责原则的英文名称是Single Responsibility Principle, 简称RSP。 定义: RSP 的原话解释是:There should never be more than one rea…
Mixin、多重继承与装饰者模式
疑问 最早接触mixin这个概念,是在使用React的时候。那时候对mixin的认知是这样的:“React不同的组件类可能需要相同的功能,比如一样的getDefaultProps、componentDidMount等。 …
iOS 设计模式系列二:装饰者模式
引言 在介绍装饰者模式之前,我们先了解一个设计原则: 多用组合,少用继承。 在平时写代码时,我们应该减少类继承的使用,过多地使用类的继承会导致类数目过于庞大而变得难以维护,而使用组合可以让我们的系统更具弹性,更加容易修改…
听飞狐聊 JavaScript 设计模式系列 13
本回内容介绍 上一回聊了聊组合模式(Composite),用组合模式模拟了个图片库,聊了递归。介一回聊状态模式(State),官方描述允许一个对象在其内部状态改变时改变它的行为。略抽象,不过看了代码会觉得比较简单,直接看…
了解这23种设计模式
根据设计模式的参考书 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavior…
设计模式及其应用场景
Longronglin之设计模式: Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做…
两道设计模式的面试题
两道设计模式的面试题 Binhua Liu 这是最近碰到的2个设计模式的面试题,大概如此: 1, Windows Media Player和RealPlayer是常用的媒体播放器,它们的API…
java设计模式之生产者/消费者模式
什么是生产者/消费者模式? 某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。在生产者与消费者之…
设计模式第三篇-装饰者模式
一、引言 先看一个开发问题,很多人都玩过英雄联盟这款游戏:里面有各种英雄,每个英雄都有各自的技能(一般是4个主动技能),每升一级可以升级一个技能,但是可升级的技能不固定。我们需要通过技能状态来计算伤害,这个时候组合就非常…
每天一个设计模式之责任链模式
作者按:《每天一个设计模式》旨在初步领会设计模式的精髓,目前采用 javascript和 python两种语言实现。诚然,每种设计模式都有多种实现方式,但此小册只记录最直截了当的实现方式 :) 0. 项目地址 责任链模式…
React 组件设计和分解思考
之前分享过几篇关于React技术栈的文章: 做出Uber移动网页版还不够 极致性能打造才见真章 解析Twitter前端架构 学习复杂场景数据设计 React Conf 2017 干货总结1: React + ES nex…