自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 消灭ifelse之策略模式(附源码)

我们经常看到下面这种代码,里面成篇的ifelse,看起来非常low,本咸鱼在刚入门时就经常写这样的代码,为此经常被大佬吐槽…日后,你若写出bug,不要将为师供出来就好。。。。//举例老的if elseif ("xxx".equals(type)) { System.out.println("do xxx");} else if ("yyy".equals(type)) { System.out.println("do yyy");} else if ("zzz".equals(typ

2021-03-12 17:50:30 195 2

原创 消灭ifelse之函数式编程(附源码)

接上篇:消灭ifelse之策略模式函数式编程:函数是一种最基本的任务,一个大型程序就是一个顶层函数调用若干底层函数,这些被调用的函数又可以调用其他函数,即大任务被一层层拆解并执行。所以函数就是面向过程的程序设计的基本单元。Java不支持单独定义函数,但可以把静态方法视为独立的函数,把实例方法视为自带this参数的函数。说到函数编程,就不得不提到java8中lambda表达式。看一个经典的例子----线程public static void main(String[] args) { new

2021-03-12 17:49:44 716 1

原创 throws声明的异常会被指定抛出吗?

Java允许在方法的后面使用throws关键字对外声明该方法有可能发生异常,在调用方法时,就明确地知道该方法有异常,并且必须在程序中对异常进行处理,否则编译无法通过。比如:public static void main(String[] args) throws Exception { int result = test(4,0); System.out.println(result); test1(1,2); } public stati

2021-03-08 10:14:39 567 3

原创 java设计模式之责任链模式(附源码)

java设计模式之责任链模式责任链模式(Chain of Responsibility)是一种处理请求的模式,它让多个处理器都有机会处理该请求,直到其中某个处理成功为止。责任链模式把多个处理器串成链,然后让请求在链上传递:看这个图是不是特别像过滤器的图,没错过滤器用的就是这个模式,它也叫过滤器模式,...

2021-03-01 18:03:20 329 2

原创 java设计模式之装饰器模式(附源码)

装饰器(Decorator)模式:一种在运行期动态给某个对象的实例增加功能的方法。Java提供的工具包中,IO相关工具就普遍大量使用了装饰器模式。举一个艺术字的例子。定义文本节点接口public interface TextNode { void setText(String text); String getText();}定义一个抽象的文本修饰器public abstract class NodeDecorator implements TextNode { protected

2021-03-01 17:25:28 259

原创 java设计模式之适配器模式

java设计模式之适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。我们举个例子。如果去美国,我们随身带的电器是无法直接使用的,因为美国的插座标准和中国不同,所以,我们需要一个适配器。在程序设计中,适配器也是类似的。我们已经有一个Task类,实现了Callable接口:public class Task implements Callable<Long> { private long num; public T

2021-02-26 17:14:20 101

原创 java设计模式之观察者模式

java设计模式之观察者模式最近接触到公司的基线,有一个开放平台的功能,接入了很多第三方接口,有一个多渠道消息推送的功能,最初这块都有不同的后台作为发布渠道,用接口来同步,非常杂乱,后来要做统一入口,即在运营后台编辑好文章发布,会自动推送给app、微信公众号、官网等渠道。作为开放平台,就要能够扩展更多的渠道。观察者模式就非常适合这种场景----发布,订阅和扩展观察者模式(Observer)又称发布-订阅模式(Publish-Subscribe:Pub/Sub)。它是一种通知机制,让发送通知的一方(被观

2021-02-26 16:34:41 134

原创 Java设计模式之静态代理模式与动态代理模式的区别(附源码)

Java设计模式之静态代理模式与动态代理模式的区别代理模式可以在原有的业务逻辑代码前后设置前后置通知,在前后添加统一处理逻辑,利用代理来处理统一操作。静态代理:举一个交班费的例子public interface Person { // 上交班费 void giveMoney();}public class Student implements Person { private String name; public Student(String name) { this.name

2021-02-26 14:36:59 218 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除