Design Pattern
惟是致良知
这个作者很懒,什么都没留下…
展开
-
设计模式之单例模式
定义单例模式确保一个类只有一个实例,并提供一个全局访问点。从定义上看,这一模式的目的就是使类的一个对象成为系统中的唯一实例。写法单例模式有不同的实现。饿汉法。在第一次引用该类时就创建实例,而不管实际是否需要创建。public class Singleton { private static Singleton uniqueInstance = new Singleto原创 2016-04-06 20:07:20 · 337 阅读 · 0 评论 -
动态代理记录日志
代理代理的意思很好理解,它借鉴了我们日常所用的代理的意思:就是本来该自己亲自去做的某件事,由于某种原因不能直接做,而只能请人代替你做,这个被你请来做事的人就是代理.代理模式代理模式中的每一个代理类在编译之后都会生成一个class文件,代理类所实现的接口和所代理的方法都被固定,这种代理被称之为静态代理(Static Proxy)。最大特点是代理类和被代理的类必须实现同样的接口,这就失去了原创 2016-05-04 19:43:33 · 651 阅读 · 0 评论 -
面向对象设计七大原则
最近团队在学习Agile 和 Clean Code。然后对面向对象设计的一些原则进行了一些学习和整理。包括SOLID、合成复用原则与迪米特法则。可维护性Robert C.Martin认为⼀个可维护性较低的软件设计,通常由于如下四个原因造成:• 过于僵硬(Rigidity)• 过于脆弱(Fragility)• 复用率低(Immobility)• 黏度过高(Viscosity) 可复用性Peter C...原创 2018-06-07 17:28:00 · 3009 阅读 · 2 评论 -
设计模式之代理模式
代理模式代理模式是常用的设计模式之一。《Head First 设计模式》中定义如下:代理模式,即为另一个对象提供一个替身或者占位符以控制对这个对象的访问。说起代理模式,最熟悉的莫过于Java中的RMI了,即远程方法调用(Remote Method Invocation)。它能够让在某个Java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。过程大致如下:1. 客户对象调...原创 2018-06-13 23:52:55 · 174 阅读 · 0 评论 -
StarUML技巧
最近在share一个模块设计时,同事觉得使用时有些图标没Rational Rose好看易用。这里整理share一下。StarUMLStarUML是一款开放源码的UML开发工具。相比于其他UML工具,有以下几个优点:1.可以免费下载。另外源码开放,可以安装或者自己喜欢的插件。2.可以导出很多种图片格式,3.能够绘制9款UML图:用例图、类图、序列图、状态图、活动图、通信图、构件图、部署图以及复合结构...原创 2018-06-14 16:13:02 · 4695 阅读 · 0 评论 -
ParameterizedType使用简单了解
之前项目中有一段逻辑:接收消息、解析、校验、业务处理。一开始代码显得冗余,然后改成模板方法。发现不同消息体解析成不同的类。public abstract class Tests { public void handler(String message) { InfoA infoA = parse(message); try { ...原创 2019-04-13 13:59:30 · 4389 阅读 · 0 评论 -
vi编辑使用
vi 三种模式:命令行模式、插入模式、尾行模式。命令行模式命令模式,也是默认的,按下esc即可,可以执行移动光标,删除等操作。常用操作如下: 类别 分类 按键 光标移动 字符级 h 左移动 ...原创 2019-08-18 21:17:13 · 163 阅读 · 0 评论 -
Chrome网页截屏
日常中可能需要截截屏,或者网页。微信等工具其实自带了截图工具可供使用。不过也有局限性,比如不能翻页。其实Chrome自带了很强大的截取网页的工具,这里说下Mac上的用法,windows上的也类似。1. ⌘Command + ⌥Option + I(Windows 为 F12)快捷键,召唤出调试界面。2. 按下 ⌘Command + ⇧Shift + P(Windows 为 Ctrl +...原创 2019-08-22 00:13:50 · 1004 阅读 · 0 评论