本文所有内容均节选自<设计模式就该这样学> 本文自2012年10月29日起持续连载,请大家持续关注.... 序言 Design Patterns: Elements of Reusable Object-Oriented Software(以下简称<设计模式>),一书由Erich Gamma.Richard Helm.Ralph Johnson和John Vlissides合著(Addison-Wesley,1995).这四位作者常被称为"四人组(Gang of Four…
项目基本完成了,加上这个总结,与这个项目相关的博客也写了30篇了,积少成多,写博客的过程是固化思路的一个过程,对自己很有用,同时也能帮助别人.顺便说个题外话,在学习的过程中肯定会遇到很多异常出现,我们要做的首先是定位这个异常,一般异常的后面都会跟一个或多个Caused by:xxx,这些都是引起异常的原因,一般我们找最下面的一个Caused by,那里往往才是问题的根源.如果自己解决不了,可以去谷歌.百度搜索(搜索的时候别一大堆异常往上一贴,注意搜关键的部分!),一般我们遇到的问题,99.9%前…
业务类接口在TCP,HTTP,BLL模式下的实例 设计模式混搭 附源码一份 WinForm酒店管理软件--框架这篇随笔可以说是我写的最被大家争议的随笔,一度是支持和反对是一样的多.大家对我做的这个行业的前景有很大的建议啊.虽然市场有困难,但好技术架构肯定是前提.事实也是,当你还是一个孩子准备和一群成年人竞争时,你可以被人轻易的暴力推到,可以被人家多年的经验轻松完虐,别人也会说“大人说话小孩子一边玩去”.这些都是过程,作为一位有准备的小孩会有心理准备的,今天准备把之前的架构中的使用策略实现业务类接…
在文章:JAVA设计模式-动态代理(Proxy)示例及说明中,为动态代理设计模式举了一个小小的例子,那么这篇文章就来分析一下源码的实现. 一,Proxy.newProxyInstance方法 @CallerSensitive public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws IllegalArgumentException{ /…
距离上次入门篇时隔两个月才出这进阶篇,小编惭愧,对不住关注我的卡哇伊的小伙伴们,为此小编用这篇博来谢罪. 前面的准备工作我就不说了,注册百度账号api,创建web网站项目,引入动态链接库引入. 不了解的童鞋可以花费10分钟移步学习:https://www.cnblogs.com/xiongze520/p/10387355.html(C# 10分钟完成百度人脸识别——入门篇). 如果要学习的童鞋最好下载本demo源码,因为有信息入库功能,BLL.DAL.数据库就在源码里面. 一般情况下笔记本自带的…
前言 说到源码,很多朋友都觉得复杂,难理解. 但是,如果是一个结构清晰且完全解耦的优质源码库呢? OkHttp就是这样一个存在,对于这个原生网络框架,想必大家也看过很多很多相关的源码解析了. 它的源码好看,易读,清晰,所以今天我准备从设计模式的角度再来读一遍 OkHttp的源码. 主要内容就分为两类: okhttp的基本运作流程 涉及到的设计模式 (本文源码版本为okhttp:4.9.0,拦截器会放到下期再讲) 使用 读源码,首先就要从它的使用方法开始: val okHttpClient = O…
观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下.本文以AbstractCursor为例子,展开分析.观察者模式,Observer Pattern,是一个很实用的模式,本人曾经接触到的各种平台以及曾经参与项目中打印模板解释器中都用到了此模式. 1.意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.热门词汇:依赖 发布-订阅 事件 通知 更新 监听 2.结构 这是一个最简单的观察者模式…
单例模式,可以说是GOF的23种设计模式中最简单的一个.这个模式相对于其他几个模式比较独立,它只负责控制自己的实例化数量单一(而不是考虑为用户产生什么样的实例),很有意思,是一个感觉上很干净的模式,本人很喜欢这个模式.android中很多地方都用到了单例模式,本文以输入法管理者InputMethodManager为例,展开分析.单例模式,Singleton Pattern,能够以其特有的优势,替代系统中全局变量,应用非常广泛. 1.意图保证一个类仅有一个实例,并提供一个访问它的全局访问点.热门词…
Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用.在android UI设计,几乎所有的widget和布局类都依靠这两个类.组合模式,Composite Pattern,是一个非常巧妙的模式.几乎所有的面向对象系统都应用到了组合模式. 1.意图将对象View和ViewGroup组合成树形结构以表示"部分-整体"的层次结构(View可以做为ViewGroup的一部分).组合模式使得用户对单个对象View和组合对象ViewGroup的使…
spring是目前使用最为广泛的Java框架之一.虽然spring最为核心是IOC和AOP,其中代码实现中很多设计模式得以应用,代码看起来简洁流畅,在日常的软件设计中很值得借鉴.以下是对一些设计模式的理解以及源码解析,希望能给大家对设计模式的理解有所帮助. 观察者模式:发布/订阅 更多设计模式更新中..... (基于spring-4.3.23.RELEASE分析) 1.观察者模式: 发布/订阅 如对观察者模式还不是很有概念,可以点击这里.spring中ApplicationEvent事件通知就是…