java设计模式总结

简介: java设计模式总结

设计模式按照"四人帮"的分类一共分为三种。

创建型模式

东西(类)是怎么创建出来的。

Abstract Factory

Bulider

Factory Method

Prototype

Singleton

结构型模式

主要是类与类之间的结构。

Adapter

Bridge

Composite

Decorator

Facade

Flyweight

Proxy

行为型模式

主要是类的动作。

Chain of Responsibility

Command

Interpreter

Iterator

Mediator

Memento

Observer

State

Strategy

Template Method

Visitor

对于上面这些设计模式,你应该可以做到知道这些设计模式典型的使用场景,以及整个模型的类图。

面向对象的六大原则

指导思想

可维护性Maintainability

修改功能,需要改动的地方越少,可维护性越好。

可复用性Reusability

代码可以被以后重复使用

写出自己总结的类库

可扩展性Extensibility/Scalability

添加功能时无需修改原先的代码

灵活性flexibility/mobility/adaptability

代码的接口可以灵活调用

①单一职责原则

Single Responsibility Principle

一个类别太大,功能不要太多,负责单一的职责

比如,一个person类就包括人的属性就可以了,不要涉及到他的管理。

高内聚,低耦合

②开闭原则

Open-Closed Principle

对扩展开放,对修改关闭

尽量不修改原来代码的情况下进行扩展

抽象化,多态是开闭原则的关键

需要替换添加新功能时,扩展子类并且加入原代码中就可以了

③里氏替换原则

Liscoy Substitution Principle

所有使用父类的地方,必须能够透明的使用子类对象。子类可以完全替代父类。

新建一个对象时,可以new这个对象的类,也可以new这个对象的子类。子类从父类继承,重载父类的接口,改变原来接口的语意,这时候就不符合里氏替换原则了。

④依赖倒置原则

Dependency Inversion Priciple

依赖倒置原则:

依赖抽象,而不是依赖具体

面向抽象编程

⑤接口隔离原则

Interface Segregation Principle

每一个接口应该承担独立的角色,不干不该自己干的事情

Flyable Runnable不该合二为一。如果他俩合二为一,当一个子类只想实现Runnable时,他还必须去实现Flyable接口,使用十分不方便。spring设计模式参考http://www.wityx.com/post/240_1_1.html

避免子类实现不需要实现的方法

需要对客户提供接口的时候,只需要暴露最小的接口。不要暴露他不要的接口,不然对客户造成干扰会很麻烦。

⑥    迪米特法则

Law of Demeter

尽量不要和陌生人说话

在迪米特法则中,对于    一个对象,非陌生人包括以下几类:

当前对象本身(this)

以参数形式传入到当前对象方法中的对象

当前对象的成员对象

如果当前对象的成员对象是一个集合,那么集合中的元素也都是朋友

当前对象所创建的对象

和其他类的耦合度变低

相关文章
|
20天前
|
设计模式 Java 程序员
[Java]23种设计模式
本文介绍了设计模式的概念及其七大原则,强调了设计模式在提高代码重用性、可读性、可扩展性和可靠性方面的作用。文章还简要概述了23种设计模式,并提供了进一步学习的资源链接。
35 0
[Java]23种设计模式
|
4天前
|
设计模式 JavaScript Java
Java设计模式:建造者模式详解
建造者模式是一种创建型设计模式,通过将复杂对象的构建过程与表示分离,使得相同的构建过程可以创建不同的表示。本文详细介绍了建造者模式的原理、背景、应用场景及实际Demo,帮助读者更好地理解和应用这一模式。
|
1月前
|
设计模式 监控 算法
Java设计模式梳理:行为型模式(策略,观察者等)
本文详细介绍了Java设计模式中的行为型模式,包括策略模式、观察者模式、责任链模式、模板方法模式和状态模式。通过具体示例代码,深入浅出地讲解了每种模式的应用场景与实现方式。例如,策略模式通过定义一系列算法让客户端在运行时选择所需算法;观察者模式则让多个观察者对象同时监听某一个主题对象,实现松耦合的消息传递机制。此外,还探讨了这些模式与实际开发中的联系,帮助读者更好地理解和应用设计模式,提升代码质量。
Java设计模式梳理:行为型模式(策略,观察者等)
|
2月前
|
存储 设计模式 安全
Java设计模式-备忘录模式(23)
Java设计模式-备忘录模式(23)
|
2月前
|
设计模式 存储 算法
Java设计模式-命令模式(16)
Java设计模式-命令模式(16)
|
2月前
|
设计模式 存储 缓存
Java设计模式 - 解释器模式(24)
Java设计模式 - 解释器模式(24)
|
2月前
|
设计模式 安全 Java
Java设计模式-迭代器模式(21)
Java设计模式-迭代器模式(21)
|
2月前
|
设计模式 缓存 监控
Java设计模式-责任链模式(17)
Java设计模式-责任链模式(17)
|
2月前
|
设计模式 运维 算法
Java设计模式-策略模式(15)
Java设计模式-策略模式(15)
|
2月前
|
设计模式 算法 Java
Java设计模式-模板方法模式(14)
Java设计模式-模板方法模式(14)