
OOP与设计模式
文章平均质量分 92
OOP与设计模式
@从入门到入土
学无止境
展开
-
优秀开源软件的类,都是怎么命名的?
日常编码中,代码的命名是个大的学问。能快速的看懂开源软件的代码结构和意图,也是一项必备的能力。那它们有什么规律呢?Java项目的代码结构,能够体现它的设计理念。Java采用长命名的方式来规范类的命名,能够自己表达它的主要意图。配合高级的IDE,可以减少编码人员的记忆负担,靠模糊的匹配就能找到自己所需要的资源。为了让大家更好的理解命名的套路,我借鉴了最流行的Java接开源软件(spring系列,netty,libgdx,guava,logback等等),总结了10类常见的类命名。大多数是以后缀形式存在转载 2021-11-04 22:59:39 · 785 阅读 · 0 评论 -
观察者模式
定义观察者模式又称为发布订阅模式。定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者,使他们能够自动更新自己。场景举例微信公众号订阅。具体实现定义发布者接口Observablepublic interface Observable { // 注册观察者 void registerObs...原创 2020-01-29 20:17:35 · 550 阅读 · 0 评论 -
责任链模式
定义将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象处理。场景举例员工请假流程。具体实现请假申请基本信息类:/** * 封装请假的基本信息 */public class LeaveRequest { // 员工名称 private String...原创 2020-01-29 19:18:16 · 547 阅读 · 0 评论 -
常用设计模式的比较
设计模式的分类分类 设计模式 创建型 工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、 建造者模式(Builder)、原型模式(Prototype)、单例模式(Singleton) 结构型 适配器模式(Adapter)、桥接模式(Bridge)、组合模式(Composite)、 装饰器模式(...原创 2019-09-13 15:45:26 · 297 阅读 · 0 评论 -
类与方法
目录类接口与抽象类内部类成员内部类局部内部类匿名内部类静态内部类this与super类关系方法方法签名值传递与引用传递构造方法类内方法覆写重载类类的定义由访问级别、类型、类名、是否抽象、是否静态、泛型标识、继承或实现关键字、父类或接口名称等组成。类的访问级别有public和无访问控制符,类型分为class、interf...原创 2018-12-28 19:24:09 · 1738 阅读 · 0 评论 -
面向对象的四大基本特征与六大设计原则
目录四大基本特征抽象封装继承多态六大设计原则单一职责原则(Single-Resposibility Principle)开闭原则(Open-Closed Principle)里氏替换原则(Liskov-Substituion Principle)依赖倒置原则(Dependecy-Inversion Principle)接口隔离原则(Interface-S...原创 2018-12-23 14:47:15 · 475 阅读 · 0 评论 -
单例模式
目录什么是单例模式?饿汉式懒汉式之一(非线程安全)懒汉式之二(线程安全)双重校验锁静态内部类枚举式什么是单例模式?根据程序需要,某个类只需要保留一个对象实例供其他程序重复利用,达到节省资源的目的。饿汉式/** * 饿汉式 * 在类加载时立即初始化,并创建单例对象 * * 优点:没有线程安全问题,不需要加锁,执行效率高 * 缺点:类加载时就会被...原创 2018-09-01 23:52:42 · 1878 阅读 · 0 评论 -
代理模式
目录什么是代理模式?代理模式三个必要条件代理模式分类JDK动态代理实现原理JDK动态代理缺点如何手写模拟JDK动态代理CGLIB动态代理CGLIB动态代理缺点CGLIB和JDK动态代理比较动态代理的应用场景什么是代理模式?代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。...原创 2018-08-25 17:13:30 · 1917 阅读 · 0 评论 -
工厂模式
目录什么是工厂模式?三种工厂模式简单工厂模式工厂方法模式抽象工厂模式什么是工厂模式?为用户生产产品,隐藏复杂的生产过程,只提供结果。三种工厂模式简单工厂、工厂方法、抽象工厂。简单工厂模式是用工厂方法代替new操作的一种模式。三种角色:工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。 抽象产品...原创 2018-08-27 22:17:15 · 448 阅读 · 0 评论