
设计模式
xiaoliuliu2050
这个作者很懒,什么都没留下…
展开
-
java 静态代理 jdk动态代理 使用方式 及实现原理 使用场景
java 代理 是什么?静态代理 :一个接口 A ,一个实现类B ,我现在想要在实现B 的同时增加一个事务的功能,但是又不想改B 的代码,就可以增加一个代理类C(C 实现A ,引用B)动态代理为啥出现?我有100个类,他们实现的接口不同,但是我想在每个类里都增加记录事务的功能。如果用静态代理,我得写100个代理类。于是java 团队创造了动态代理。静态代理代码实现:B b...原创 2018-08-18 00:33:06 · 857 阅读 · 0 评论 -
网络通讯协议:文件传输协议 Ftp 工作模式 工作原理 java实现 服务器安装
概念ftp服务器是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器任何一台电脑,安装了vsftpd都可以 对外提供ftp服务:ftp协议的实现客户端windows :FileZilla、Fla...原创 2016-10-21 09:59:48 · 1459 阅读 · 0 评论 -
Reactor 模式 通俗版解释
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些。通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或者叫召唤兽。 并发系统常使用reactor模式,代替常用的多线程的处理方式,节省系统的资源,提高系统的吞吐量。 先用比较直观的方式来介绍一下这种方式的优点,通过和常用的转载 2017-06-15 14:05:18 · 1175 阅读 · 0 评论 -
7设计模式 之 观察者 和监听器的区别
GOF设计模式中有一种叫做观察者模式(Observer),属于行为型模式。又叫发布-订阅(Publish/Subscribe)模式、模型-视图 (Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个 主题对象在状态上发生变化时,会通知所有观察者对象,使它们转载 2017-06-15 10:08:25 · 6874 阅读 · 0 评论 -
命令模式
4.2 命令模式的实现代码 /// /// 接收者类,知道如何实施与执行一个请求相关的操作,任何类都可能作为一个接收者。 /// public class Receiver { /// /// 真正的命令实现 /// public void Action() {转载 2017-07-02 20:31:11 · 238 阅读 · 0 评论 -
设计模式 学习 6:
11个行为模式之6(备忘录模式,观察者模式,状态模式,策略模式,模版模式,访问者模式)备忘录模式 Sunny软件公司欲开发一款可以运行在Android平台的触摸式中国象棋软件,由于考虑到有些用户是“菜鸟”,经常不小心走错棋;还有些用户因为不习惯使用手指在手机屏幕上拖动棋子,常常出现操作失误,因此该中国象棋软件要提供“悔棋”功能,用户走错棋或操作失误后可恢复到前一个步骤,原创 2016-04-23 14:18:03 · 2393 阅读 · 0 评论 -
服务层抛异常和返回错误码的使用场景
抛出异常可以让API层try catch 捕获异常,并且在发生问题时候,迅速定位到某行代码,异常链占用内存大,返回错误码,可以让API解析错误码,做某些操作,但是不利于定位服务端代码错误。举个例子:1)创建订单 校验是否存在未支付订单,如果API 层要求 如果存在未支付订单,同时返回未支付订单号,方便 API 将数据返回给客户端。这种情况下,只抛出异常就显得不够用了。原创 2016-10-20 18:36:22 · 5553 阅读 · 0 评论 -
设计模式 学习 4:
七个结构型模式之4(装饰模式,外观模式,享元模式,代理模式)装饰模式: Sunny软件公司基于面向对象技术开发了一套图形界面构件库VisualComponent,该构件库提供了大量基本构件,如窗体、文本框、列表框等,由于在使用该构件库时,用户经常要求定制一些特效显示效果,如带滚动条的窗体、带黑色边框的文本框、既带滚动条又带黑色边框的列表框等等,因此经常需要对该构件库进行扩展以增强其原创 2016-04-23 14:12:38 · 1444 阅读 · 0 评论 -
设计模式 学习 5:
11个行为模式之5(责任链模式,命令模式,解释器模式,迭代器模式,中介者模式)责任链模式问题: Sunny软件公司承接了某企业SCM(Supply Chain Management,供应链管理)系统的开发任务,其中包含一个采购审批子系统。该企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审原创 2016-04-23 14:15:09 · 1386 阅读 · 0 评论 -
设计模式 学习 3:
七个结构型模式之3(适配器 /桥接模式/组合模式)适配器模式 Sunny软件公司在很久以前曾开发了一个算法库,里面包含了一些常用的算法,例如排序算法和查找算法,在进行各类软件开发时经常需要重用该算法库中的算法。在为某学校开发教务管理系统时,开发人员发现需要对学生成绩进行排序和查找,该系统的设计人员已经开发了一个成绩操作接口ScoreOperation,在该接口中声明了排序方法sort(原创 2016-04-23 14:20:06 · 1803 阅读 · 0 评论 -
设计模式 学习 1:
设计原则:1 单一职责原则 : 面向对象编程。2 开闭原则 : 可以扩展,不要修改原来的代码。3 里氏代换原则 : 引用父类的地方可以使用 子类替代。4 依赖倒转原则 : 尽量在参数 ,返回值,引用等地方,使用接口和抽象类。5 接口隔离原则 : 每个接口应该承担自己的责任,不要混在一起。6 合成复用原则 : 尽量使用对象组合,而不是继承达到复用目的。原创 2016-04-23 14:20:38 · 317 阅读 · 0 评论 -
设计模式 学习 2:
六个创建型模式简单工厂: 问题: Sunny软件公司欲基于Java语言开发一套图表库,该图表库可以为应用系统提供各种不同外观的图表,例如柱状图、饼状图、折线图等。Sunny软件公司图表库设计人员希望为应用系统开发人员提供一套灵活易用的图表库,而且可以较为方便地对图表库进行扩展,以便能够在将来增加一些新类型的图表。//抽象图表接口:抽象产品类i原创 2016-04-23 14:26:00 · 1674 阅读 · 0 评论