简介
在一般的程序开发过程中,初中级程序员接触的程序设计模式是比较少的。最常见的可能就是单例模式、工厂模式、抽象工厂模式等等,但实际上程序中的设计模式是非常多的,具体可以分为 23 种设计模式。设计模式并不是 Java 语言所特有的,而是编程人员在开发过程中总结出来的便于程序开发的固有的设计模式。本篇 Chat 将使用 Java 语言对 23 种设计模式展开介绍、并且通过逻辑关系图以及使用 Java 语言列举示例的方式来对每种设计模式进行相关的说明。
设计模式原则说明
开闭原则
开闭原则指的是对于程序或是代码块必须具有可扩展性,在现有框架或接口的基础上进行而不能直接修改原有的代码框架。为了提高程序的可扩展性, Java 编程也提出面向接口的编程方式,因此在日常开发中也比较提倡面向接口编程的开发方式。
最少知道原则
最少知道原则是相对于对象而言,是说一个对象应该尽可能的与其他对象之间保持相对的独立,降低其对象之间的耦合性,进而也可以提高对象的可扩展性。在我们的编程生涯中接触到的最重要的思想也就是“高内聚、低耦合”也是遵循的这样的原则。因此,在业务处理设计的时候,特别是实体类的创建等一定要注意最少知道原则。
接口隔离原则
接口隔离的原则宗旨是降低接口之间的耦合性,减少接口之间的依赖等。在编程中,为了软件的升级和以后的运维工作应该增加多个接口进行隔离,不能将不同的业务逻辑添加到一个接口中进行操作。
依赖倒置原则
依赖倒置原则是指在类对象设计的过程中,尽量依赖抽象或是接口类。一般情况下,不要依赖实现类或是实体对象,在设计时可以通过依赖接口或是抽象类来降低对象之间的耦合性。由于此原则不好进行书面叙述,下面通过一组代码示例来进行说明。
首先,我们来创建一个抽象示例:
abstract class Animal {
public abstract String test();
}
创建一个 Cat 类继承自 Animal:
public class Cat extends Animal{
@Override
public String test() {
// TODO Auto-generated method stub
return "cat eating folds";
}
}
创建一个 Dog 类继承自 Animal:
public class Dog extends Animal{
@Override
public String test() {
// TODO Auto-generated method stub
return "dog eating flods";
}
}
通过 main 方法调用:
public static void main(String[] args) {
test(new Cat());
test(new Dog());
}
public static void test(Animal animal) {
System.out.println(animal.test());
}
通过上面的示例可以看出,我们在调用某个类方法时可以通过外围的实例确定调用的是哪个对象方法就可以防止内部方法写成固定的,从而也降低了对象对象的耦合性。