摘要:概览 最近弄几篇NIO基础相关的内容,用于Netty源码解析使用。因为没有这些知识就产生不了问题,也就无法深入一个成熟的网络IO框架源码进行学习。 NIO三大核心组件: 1,Channel 2,Buffer 3,Selector 先概述一下三者的概念和之间的关系,再逐个了解组件的API打个基础。 对
阅读全文
摘要:composed method: composed method: 我们平时在写代码的过程中也会吧一些复杂的代码分解成几个小方法,以使代码开起来清晰,而composed method只是将实践定义成理论而已。不过我认为他核心的原则是尽可能将重构的方法保持在同一细节水平上。 strategy: 核心是
阅读全文
摘要:代码高效的表达意图,是优秀代码的基本标准,所以在刚刚写代码的时候我们总是被教育方法的名字,变量字段的名字要尽可能表达出在程序中的含义。 在《重构和模式》中提到的creation,就是讲构造实例的方式封装变为可以表达含义的方法提供给客户端使用,从而保证了在阅读客户端代码时,可以清晰的明白代码在做什么,
阅读全文
摘要:代理模式-积木模式 代理模式在实际开发中的确非常常见和常用,表面上代理模式是产生出一个代理类,作为访问实际实现类的代理,控制了外界对实际代理类的访问,在此基础上增加一些增强性的功能。实际上,还将实际实现作为一个粒度,将增强的部分功能分离解耦。 这里记录一下实现的一些代码: 静态代理: 动态代理(ja
阅读全文
摘要:这里记录一个例子,工厂模式的理论就不扯淡了。 遇到的问题:支付方式有很多种,比如微信支付 支付宝支付 银联支付 等等。我们在在实现的时候发现他么的流程上是相似的,以及每个方式都有大量的个性配置,在实例化时需要加载他们,以及为了清晰的讲调用方和实现方进行分离,就有来下面的小设计。 以银联为例,(通过测
阅读全文
摘要:一步步知识点归纳吧,把以前似懂非懂,了解表面,知道点不知道面的知识归一下档。 懒汉式单例: 私有化构造函数,阻止外界实例话对象,调用getInstance静态方法,判断是否已经实例化。 为什么是懒汉,因为它是属于延迟加载这个实例的,也就是说不用到的时候,不实例化对象的。 public class S
阅读全文