
设计模式
文章平均质量分 91
大卫不加班
不会做饭的厨师不是好程序员!
展开
-
设计模式之工厂方法
场景:小明带了几位同事来肯德基吃饭,但是各自的喜好不同,小明比较懒,不想去挨个问谁谁要吃什么,只想朋友去找服务员那想要的事物就可以,自己最后结账就可以了 抽象: 各种食物:Food 肯德基商店: FoodFactory 抽象食物的共同特征: 接口:public interface Food{void getFood();}具体的食物//汉堡,炸鸡,可乐p...原创 2018-06-20 23:12:23 · 217 阅读 · 0 评论 -
线程之安全发布对象--单例模式
单例模式:保证获取到的对象是同一个对象,对象只实例化一次特点:单例类的构造方法是private 有一个静态方法getInstance获取单例实例两大类:懒汉式与饿汉式懒汉:在需要单例对象时,手动调用getInstance方法时,才会执行第一次创建饿汉:默认就创建好一个单例对象,不需要手动调用才创建代码示例:1...原创 2018-06-12 22:47:33 · 263 阅读 · 0 评论 -
上位机与下位机交互--让socket不"死"
需求说明:下位机是plc,西门子1200下位机只能做服务器端,监听一个端口,不能主动给客户端发送消息(原计划是上位机也是监听一个端口,供下位机来访问,上传数据,结果现实很骨感)上位机(pc)充当客户端,可以主动连接下位机交换信息具体需求:1,上位机给下位机下达工作数据(比如下位机是生产纸张,上位机需要发给下位机纸张的尺寸,数量等数据)2,下位机会在某个特定的时间“发送”...原创 2018-10-07 23:37:41 · 13247 阅读 · 2 评论 -
double check机制真的是完美的吗?
单例我们是经常会用到的一种设计模式,为了减少对象的创建。一个类有且仅有一个实例,并且自行实例化向整个系统提供。但是在多线程的情况下,我们不得不考虑如何保证正确高效的获得单例对象。单例的一般写法:(这里以饿汉为例)public class Singleton(){private static Singleton instance;private Singleton(){}publi...原创 2018-12-12 19:02:27 · 2701 阅读 · 1 评论 -
(二)设计模式之代理模式 ---aop
面向对象–OOP,针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分面向切面–AOP(Aspect Oriented Programming):针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。这两种设计思想在目标上有着本质的差异AOP使用场景:日志记录,权限,跟踪,优化和监控,事物的处理,资...原创 2019-01-24 13:12:50 · 217 阅读 · 2 评论 -
(一)设计模式之策略模式
注:以jdk中的一角来理解设计模式的运用策略模式:在不同的情形下选取不同的方式去处理比如:jdk中的 java.util.Arrays.sort() 方法,则是根据待排序数组的初始的有序程度,以及规模来选取不同的排序方式处理排序具体实现是这个方法:策略1:对于小数组,直接使用"快排"策略2:对于不是高度结构化(各区间内有序)的数组,执行"快排"策略3:高度结构化的,使用归并排原创 2019-01-24 12:09:20 · 175 阅读 · 0 评论