java设计模式常用的七大原则
- 单一职责原则
定义:对类来说,即一个类应该只负责一项职责,如类A负责两个不同的职责:1,2,当1的需求变更而改变A时,可能造成职责2执行错误,所以需要将A的粒度分解为A1,A2
单一职责使用时注意的问题和细节:
1.降低类的复杂度,一个类只负责一项职责。
2.提高类的可读性,可维护性
3.降低变更引起的风险
4.通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则。
- 接口隔离原则
1.客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上
package segregation;
/**
* @Author:wmy
* @Date:2019/12/14
* @Description:
**/
public class InterfaceSegregation {
public static void main(String[] args) {
A a = new A();
a.depend1(new B());
a.depend2(new B());
a.depend3(new B());
}
}
interface Interface1 {
void operation1();
}
interface Interface2 {
void operation2();
void operation3();
}
interface Interface3 {
void operation4();
void operation5();
}
class B implements Interface1, Interface2 {
@Override
public void operation1() {
System.out.println("实现方法1");
}
@Override
public void operation2() {
System.out.println("实现方法2");
}
@Override
public void operation3() {
System.out.println("实现方法3");
}
}
class D implements Interface1, Interface3 {
@Override
public void operation1() {
System.out.println("实现方法1");
}
@Override
public void operation4() {
System.out.println("实现方法4");
}
@Override
public void operation5() {
System.out.println("实现方法5");
}
}
class A {
public void depend1(Interface1 i) {
i.operation1();
}
public void depend2(Interface2 i) {
i.operation2();
}
public void depend3(Interface2 i) {
i.operation3();
}
}
class C {
public void depend1(Interface1 i) {
i.operation1();
}
public void depend2(Interface3 i) {
i.operation4();
}
public void depend3(Interface3 i) {
i.operation5();
}
}
- 依赖倒转原则
- 里氏替换原则
- 开闭原则
- 迪米特法则
- 合成复用原则
TCP/IP协议基础知识:
TCP/IP协议族中不同层次的协议:
- TCP使用不可靠的IP服务,并提供一种可靠的运输层服务
- UDP为应用程序发送和接受数据包,和TCP不同,UDP是不可靠的
- IP是网络层上的主要协议,同时被TCP和UDP使用
- ICMP是IP协议的附属协议