目测很久没写文章了,距离上一篇文章也有二十多天。我是怎么了?哈哈~,两个字:生命。生命彷佛说大了,那健康吧。吃一堑长一智吧 html
思考对生活 对生命 java
个人信仰?佛教?基督?…当你生病了,有药吃。好比感冒了感冒药你会以为药难吃。人吗就是那样,但当你想到了,你生病了没药可吃是多么无奈。好比我 胸闷 胸疼。随之而来的是蹦波劳累,上海-温州-家里台州,各处跑。看病,啥?无病?no web
那时候的本身想起乘车就怕,四肢无力。简直是注意力,精神都没了。看代码?看着java 想着是啥我都忘了。 架构
后来医生药却是没有,本身颓废着…也就是那次,那次开学初。我再次乘了惧怕的动车去学校了。我相信本身会慢慢好的,不熬夜,规律休息。第一个星期是最漫长的日子、听课无力,坐多了腰疼。shit!坚持…坚持…后来明显慢慢有力了。第二个星期,我开始锻炼,目前第三个星期了,我坚持锻炼了六天。fuck my heath! i am coming , hope no so late。 学习
看源码是种享受,最近各类看。没事就看,有事就忙。我以为贵在学习吧。哈哈~ 第一次看到了是这里: 测试
正所谓,知之为知之,用到才算真。小朽不懂,就立刻去百度了下这个Facade。得知是个模式,正好呀,学呗。说罢就查了视频看,查了人家的博客看。值得看何须不看呢。 this
外观模式(Facade)能够江一系列复杂的包封装成一个简单的封闭接口。也能够说,一个子系统的外部与其内部的通讯必须经过一个统一的Facade对象进行。这里的通讯的意思:彼此相互做用。它的做用提供了一个高层的接口,易于使用。 google
Facade 为调用方定义简单的调用接口。
Clients 调用者。经过Facade接口调用提供某功能的内部类群。
Packages 功能提供者。指提供功能的类群(模块或子系统) spa
现实中,八九十年代,没有基金的时候。国债,股票,期货…都是各自运行的。例以下面: 设计
股票:
1
2
3
4
5
6
|
public class Gupiao {
public void mai() {
System.out.println("买股票");
}
}
|
期货:
1
2
3
4
5
6
|
public class Qihuo {
public void chao() {
System.out.println("买期货");
}
}
|
国债:
1
2
3
4
5
6
|
public class GuoZai {
public void mai() {
System.out.println("买国债");
}
}
|
若是你想买国债,买期货,你会跟各自的系统打交道。new 其中一个对象进行操做。因此这会形成下面几点:
1.耦合度增长
2.无层次化,结构不分明
自从有了基金。什么是基金,按着外观模式的说法,就是你不知道有多少种股票或者啥,基金帮你打理这些小系统。它帮你安排了各类方案,好比
基金:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
public class JiJin {
private Gupiao gupiao;
private GuoZai guozai;
private Qihuo qihuo;
public JiJin() {
this.guozai =new GuoZai();
this.gupiao =new Gupiao();
this.qihuo =new Qihuo();
}
public void maiJijinA() {
this.guozai.mai();
this.gupiao.mai();
}
public void maiJijinB() {
this.guozai.mai();
this.gupiao.mai();
this.qihuo.chao();
}
}
|
测试案例:
1
2
3
4
5
6
|
public class MainClass {
public static void main(String[] args) {
JiJin jijin =new JiJin();
jijin.maiJijinB();
}
}
|
这样一来,其实用性就出来了:
1.为一个复杂子系统提供一个简单接口。
2.提升子系统的独立性。
3.在层次化结构中,可使用Facade模式定义系统中每一层的入口。
1 web三层构架,其实在数据访问层和业务逻辑层,业务逻辑层和表示层的层与层之间创建外观Facade模式应用,为复杂的子系统提供一个简单的接口或者抽象类,使得耦合大大下降。
2 在开发阶段,子系统每每由于不断的重构演化而变得愈来愈复杂,大多数的模式使用时也都会产生不少很小的类,这本是好事,但也给外部调用它们的用户程序带来了使用上的困难,增长外观Facade能够提供一个简单的接口,减小它们之间的依赖。
具体作法:将小类规划,分类。而后实现代理Facade。
3 在维护一个遗留的大型系统时,可能这个系统已经很是难以维护和扩展了,但由于它包含很是重要的功能,新的需求开发必须依赖于它。此时用外观模式Facade也是很是合适的。例如能够开发一个外观Facade类,来提供设计粗糙或高度复杂的遗留代码的比较清晰简单的接口,让新系统与Facade对象交互,Facade与遗留代码交互全部复杂的工做。
能够普遍用于WEB,项目架构。加油!!
参考资料:
google文章和本身的体会。
如以上文章或连接对你有帮助的话,别忘了在文章按钮或到页面右下角点击 “赞一个” 按钮哦。你也能够点击页面右边“分享”悬浮按钮哦,让更多的人阅读这篇文章