
学习Java,有三大特性:封装、多态、继承。
上次说到:学习设计模式,是了解多态这个特性,非常好的一个途径。
另外一个,设计模式,可以帮助我们写出容易维护、漂亮代码的手段。
如果有重复的代码,可以把重复代码提取出来,便于复用,而且之后修改的话,只要修改比较少的地方就够了,这样可以减少修改的地方。省时省力。
public class A {
void say() {
System.out.println("Java三大特性:封装、多态、继承!!");
}
}
public class B {
void say() {
System.out.println("Java三大特性:封装、多态、继承!!");
}
}
public class C {
void say() {
System.out.println("Java三大特性:封装、多态、继承!!");
}
}
public class D {
void say() {
System.out.println("Java三大特性:封装、多态、继承!!");
}
}
......
A-D还有更多的类,使用的是总一个方法。这时候,我们可以使用CV,一顿复制粘贴。
如果这时候,java又增加一个特性的话,我们就会非常头痛,有几个类,就需要修改几次。
我们可以把这个方法提取出来,然后只要修改一个地方就可以了。
public class theSameMethod {
static void say() {
System.out.println("Java三大特性:封装、多态、继承!!");
}
}
//然后可以让其他类调用这个方法
public class A {
void say() {
theSameMethod.say();
}
}
public class B {
void say() {
theSameMethod.say();
}
}
....

这时候,我们给它升级一下:
比如:我们需要调用7-8个方法,而且顺序不能打乱。
public class A {
void A1(){}
void A2(){}
}
public class B {
void B1(){}
void B2(){}
}
public class C {
void C1(){}
void C2(){}
}
public class D {
void D1(){}
void D2(){}
}
如果每次直接调用其中几个方法,很容易调用错,而且这些方法都是重复的。这时候就可以写一个公共方法。
public class Facade {
private A a;
private B b;
private C c;
private D d;
public Facade() {
a = new A();
b = new B();
c = new C();
d = new D();
}
public void methodA() {
a.A1();
b.B2();
a.A2();
c.C2();
}
}
我们直接就调用Facade的methodA()方法就可以了。简单、省力。
这个模式也叫外观模式。
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

下面是自己的一些想法和感受:
java是一门面向对象的语言。万物皆对象。
学习,使用java久了之后,养成一个习惯:“能不自己干的,就不用自己干”。😀
比如,我们会依赖很多jar,里面有很多很好用的方法,工具。
比如fastjson,pagehelper等等
为啥需要借助他人的工具呢?
因为方便啊。
我感觉更多的是:这些开源的工具,已经经历过很多测试用例的验证,生产的环境的洗礼。这些工具相对稳定,而且有些工具比自己写出来的效率高。
如果有机会的话,我还是会自己去写一点工具使用,或许可能有一些问题,但是公司还是宽容的,可以让我们自己是实验。
还是很感谢公司,给我提供这么大一个平台,让我在里面施展自己的“才华”。
网友评论