架构与设计模式
拭心
我的新书《Android 性能优化入门与实战》上架了,快速提升技术实力,强烈推荐!!!
展开
-
23种经典设计模式UML类图汇总
学设计模式时老感觉过于分散,这里将23种设计模式的UML类图汇总如下:原创 2015-04-30 00:51:40 · 4001 阅读 · 1 评论 -
变种 Builder 模式:优雅的对象构建方式
读完本文你将了解到:帅气的 Builder 链式调用常见的两种构建方式常见的构建方式之一定义多个重载的构造函数常见的构建方式之二使用 setter 方法挨个构造优雅的构建方式变种 Builder 模式Android Studio 中使用插件自动生成 变种 Builder 模式代码总结帅气的 Builder 链式调用在日常开发中,经常可以看到这样的代码:Retrofit retrofit原创 2016-11-21 00:40:03 · 12372 阅读 · 12 评论 -
观察者模式 : 一支穿云箭,千军万马来相见
小时候一块钱就可以在录像厅看一天电影,印象里最喜欢星爷的电影,特别搞笑。后来渐渐长大,接触了一些人和事,略微懂了他的那些苦笑、狂笑和欲哭无泪。我喜欢的演员很多,唯独星爷,能让我看到他的照片,有种想哭的感觉。星爷,may the god bless you.最近又看了遍《功夫》,其中有一幕:阿星装比失败,不曾想引来了斧头帮,斧头帮老大一支穿云箭,真的是千军万马来相见,帅呆了!骨子里也是个古惑仔的我好崇原创 2016-09-27 18:19:31 · 30353 阅读 · 9 评论 -
最熟悉的陌生人:ListView 中的观察者模式
RecyclerView 得宠之前,ListView 可以说是我们用的最多的组件。之前一直没有好好看看它的源码,知其然不知其所以然。 今天我们来窥一窥 ListView 中的观察者模式。 不熟悉观察者模式的可以看看这篇 观察者模式 : 一支穿云箭,千军万马来相见 巩固一下。在我们使用 ListView 的过程中,经常需要修改 Item 的状态,比如添加、删除、选中等等,通常的原创 2016-09-27 18:46:34 · 5711 阅读 · 2 评论 -
设计模式六大原则: 狸猫换太子 -- 里氏替换原则
据野史传说中记载,当年宋哲宗最宠爱的妃子是刘德妃。刘德妃虽然深受皇上宠爱,但是却久久不能生育。刘德妃为竞争皇后之位,提高自己的身价,便想出了“借腹怀孕”的诡计。她打算利用身旁的一个长得有些姿色的姓李的侍女,引诱宋真宗上钩。一次在刘德妃沐浴之时,真宗果真临幸了这个李姓侍女,不久这个侍女就怀孕了,这使刘德妃也装作怀孕的样子,其实侍女怀孕是真,刘德妃只是安排计策假装而已。等到十月分娩的时候,“两个”龙种先原创 2016-08-11 23:57:48 · 5909 阅读 · 9 评论 -
设计模式六大原则: 老板是如何减轻负担的 -- 依赖倒置原则
很多创业公司都对外宣称“扁平化管理”,什么是“扁平化管理”呢?请看下面这张架构图:因为人少,老板直接管理着采购、销售、人力跟 IT 等人员,虽然累了点,但部门少、人不多也还好。但是随着公司规模发展,每次新加入人员老板都要去认识、沟通,出现问题还得去约出去喝个茶,老板发现自己的时间都浪费在这些琐事,容易耽搁事不说,还发挥不出更大价值。这时他决定招一些经理替自己分别管理各个部门,自己只要管理这些经理就好原创 2016-08-12 18:33:48 · 4621 阅读 · 2 评论 -
设计模式六大原则: 辅导班的因材施教 -- 接口隔离原则
我的女朋友小肉是一名光荣的辅导班老师,说来惭愧,我上初中那会儿最讨厌辅导班老师了,每天上学都这么累了,晚上还得去见辅导班老师,神烦,奈何目前的教育机制下,很多家长认为辅导班是提高成绩比较靠谱的方式,导致这个行业市场很大。小肉教三个水平不同的小班,那天看她在准备讲义和试题,同一章内容需要做三份,其中很多内容都是重复的,自诩设计模式略懂一二的我跟她说: 你这个讲义跟我敲代码很像,相似的内容这么多,直原创 2016-08-15 18:33:14 · 3390 阅读 · 3 评论 -
代理模式:女朋友这么漂亮,你缺经纪人吗?
你缺经纪人吗这几天王宝强妻子出轨经纪人事件惹尽了眼球,“你缺经纪人吗” 一下子成为打招呼必备热词。在紧跟“潮流”之前我们有必要了解下,经纪人都负责为宝强做哪些事呢?为宝强安排档期为宝强做公关为宝强照顾家庭可以看到,除了吃喝拉撒睡,宝强的许多行为都被经纪人 架空 了:Created with Raphaël 2.1.0外界外界宋吉吉宋吉吉王宝强王宝强宝强接不接“跑男”你还是去“真男”,给我俩点原创 2016-08-20 23:46:23 · 10580 阅读 · 25 评论 -
动态代理:1 个经纪人如何代理 N 个明星
在 代理模式:女朋友这么漂亮,你缺经纪人吗? 中我们用宝强的例子介绍了静态代理模式的概念。 本来我的目的是通过大家耳熟能详的例子来加深理解,但是有些网友指责我“没底线”、“幸灾乐祸”,其实我比你们谁都爱宝强!他的每个电影我都看,电影里他受苦了我都心疼,比如说看到《盲井》里弱小的他被失足女欺负,我只想说:放开宝强,换我来! OK,这篇文章我们将结合其他例子介绍动态代理模式。: )回顾静态原创 2016-08-27 12:14:07 · 9057 阅读 · 12 评论 -
策略模式:网络小说的固定套路
策略模式:网络小说的固定套路近日小舅子让我推荐几本好看的玄幻小说,下好了发给他。想当初我唐家三少、天蚕土豆、跳舞等网络作者的小说也没少看,便满口答应了。百度一搜“唐家三少”,好家伙,几年不见又出了这么多新书,产量惊人啊!把这些小说简介一看,啧啧,还是那个 屌丝逆袭 套路啊。知乎上唐家三少有人喷有人捧,但有几句说的比较中肯: 因为现在的读者很多都是学生,找部小说来看着激动一下,激动过后呢?再找小说原创 2016-08-28 17:10:21 · 11721 阅读 · 16 评论 -
Android 中的那些策略模式
上篇文章 策略模式:网络小说的固定套路 介绍了策略模式 的基本概念,这篇文章我们来通过 Android 中的一些例子来加深对策略模式的理解。首先祭上经典的策略模式 UML 图可以看到,策略模式中主要有以下几个角色:Strategy 接口,用于定义算法的固定套路ConcreteStrategyA , …..B , 等具体算法实现类Context 外部调用类Context 中引用的是 接口,因原创 2016-09-10 10:56:24 · 7932 阅读 · 2 评论 -
适配器模式 : 农村小伙娶乌克兰美女语言不通 翻译软件立功
不知道什么时候开始,总听到“ XXX 小伙娶乌克兰美女” 的新闻,比如 农村小伙娶乌克兰美女语言不通 翻译软件立功 等等,我仔细地看了几篇新闻,发现居然不是标题党,新闻里的乌克兰妹子长得真不错,上几张图: 看完这些新闻和照片,我心里有三个疑问; 1. 乌克兰真的美女很多吗? 2. 为什么乌克兰美女爱嫁给中国男人? 3. 翻译软件可以化腐朽为神奇,软件开发过程中是否可以参考呢?经原创 2016-09-20 22:05:51 · 28291 阅读 · 10 评论 -
设计模式六大原则: 一个萝卜一个坑 -- 单一职责原则
形形色色的代码接触多了,越发意识到 面向对象 这个被人说烂却鲜有用好的概念的重要性。之前看了《大话设计模式》也只是匆匆一瞥,没有敲代码或者记博客,这次连着《Android 源码设计模式解析与实战》一起学习,总结记录下来。设计模式流传江湖许久,据说有 23 式,而万物归宗皆有其律,这些繁杂的模式总结出来就是如下 6 大原则。单一职责原则开放封闭原则里氏代换原则依赖倒置原则接口分离原则迪米原创 2016-08-10 22:53:15 · 4178 阅读 · 1 评论 -
Java实现多种单例模式SingletonPattern
纠结了好久,要不要写一篇博客记录自己学习单例模式的过程。网上相关博客多的很,好像没什么必要重复造一个老轮子。但是最近面试、看面试书,发现单例模式还是经常会被考到的,而且作为设计模式中相对来说比较简单的一种,掌握好还是很有必要的。而掌握知识的最好途径不是看别人的文章,而是自己亲手造一个,想必那样体会更深。好了废话不多说。单例模式的作用从名字上就可以看出来:保证某个类的实例原创 2015-07-21 16:37:35 · 3305 阅读 · 7 评论 -
5分钟了解《代码整洁之道》精华
让软件能工作和让软件保持整洁,是截然不同的工作,后者需要投入的更多。 大多数人只能更多地把精力放在让代码能工作,而没办法保持代码有组织更整洁。能做到代码整洁,说明你已经不是一般人了。 本文内容主要分以下几点:什么样的代码是整洁的 取个好名字 让函数再整洁一点 注释的好与坏 格式化 异常处理和边界 整洁的类1.什么样的代码是整洁的如上图所示,衡量代...原创 2019-02-27 10:24:24 · 21988 阅读 · 13 评论