简单的java程序设计原则和模式

设计原则

  • 为什么要掌握设计模式和原则
    1 实现代码复用,减少了开发成本,帮助代码实现高内聚和低耦合模式
    2 提供程序扩展性,需求不断变化,版本不断更新,扩展性很重要,
  • 设计原则是程序员必要领会的知识点,主要是为了将程序编写更加简单有条理,

通用设计原则

  • 面向接口编程
    面向接口进行开发,依赖于抽象类型,而不是具体类,接口要求标准化,内部实现类可以任意改变,实现了方便更新迭代,设计灵活,

  • 组合优于继承
    继承是实现类之间代码复用的方式之一,继承后子类会受到父类的多种条件限制,
    组合是一种关系,是类与类之间的一种配合关系,很方便的实现复用,

设计类的原则

  • 单一原则
    不知道单一原则以前:在编码时为了省事,在一个类中添加各种功能,导致未来维护性差,牵一发动全身。
    学习单一原则后:一个类尽量只做一个功能,类的职责单一,调用它的原因也就单一,简单清晰,可读性,维护性高。
    修改这个类的原因只有一个,

  • 开闭原则
    主要指一个类,方法,模块,对外扩展开放,对修改关闭,

  • 里氏替换原则
    是说在实现继承时要注意一些原则,
    1.子类可以实现父类的抽象方法,
    2.子类可以增加自己的方法,
    3.子类要重载父类的方法时,方法的参数更加宽松,引用类型要宽松
    4.实现父类的抽象方法时 返回值要更加严格。

  • 接口隔离原则
    尽量将大接口拆分成小接口,接口实现的服务种类要单一,功能性针对性强,

  • 最少原则也就是迪米特法原则
    少交朋友,交际单一,如果不是必要直接通信,应该是三方转发调用,降低耦合度,独立性高。

  • 表达原则
    代码就是文档,通俗易懂,逻辑清晰。

设计模式

  • 工厂模式(主要作用是创建对象)
    本质:用来实例化出不同对象,在工厂中的方法来代替了自己创建对象的过程,根据不同的参数类型,工厂统一生成对应的对象,实现了调用者和实体类解耦,
    理解: 一个类(工厂类)里面有一个静态方法,根据参数的不同,而返回不同的实例对象,当然不同的实例对象他们都是来自与同一个接口啊。
    在这里插入图片描述
    在这里插入图片描述

  • 单例模式
    先要理解单例模式是什么意思啊,就是始终创建的对象都是同一个对象, 保证一个类只有一个实例,是全局访问点,
    单例模式分为饿汉式和饱汉式
    饿汉式是指创建对象速度快,
    首先第一个步 将构造器私有化,这就意味着不能随便创建对象,
    第二步创建一个对象赋值给一个私有静态变量,保证了对象的唯一性,私有 静态
    第三步 创建一个公开的静态方法用来返回创建好的对象变量,
    在这里插入图片描述

懒汉式
解释一下饱汉式是指创建对象速度慢,需要做判断才会创建对象,
第一步要构造器私有化
第二步创建一个私有 静态 volatile 的变量 值为null ;
第三步创建一个静态方法 先判断值是否为空,加上线程锁,在做判断 创建对象返回 ,
在这里插入图片描述
在这里插入图片描述

  • 代理模式
    通常是隐藏具体的实现类,在实现类前后添加一些功能或是逻辑,
    代理模式有一个 真实类 真实接口 代理类实现真实接口里面有真实类对象 最后用代理类来调用真实类
    代理模式说白了就是对实现的接口进行一些包装或是增强,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值