设计原则
- 为什么要掌握设计模式和原则
1 实现代码复用,减少了开发成本,帮助代码实现高内聚和低耦合模式
2 提供程序扩展性,需求不断变化,版本不断更新,扩展性很重要, - 设计原则是程序员必要领会的知识点,主要是为了将程序编写更加简单有条理,
通用设计原则
-
面向接口编程
面向接口进行开发,依赖于抽象类型,而不是具体类,接口要求标准化,内部实现类可以任意改变,实现了方便更新迭代,设计灵活, -
组合优于继承
继承是实现类之间代码复用的方式之一,继承后子类会受到父类的多种条件限制,
组合是一种关系,是类与类之间的一种配合关系,很方便的实现复用,
设计类的原则
-
单一原则
不知道单一原则以前:在编码时为了省事,在一个类中添加各种功能,导致未来维护性差,牵一发动全身。
学习单一原则后:一个类尽量只做一个功能,类的职责单一,调用它的原因也就单一,简单清晰,可读性,维护性高。
修改这个类的原因只有一个, -
开闭原则
主要指一个类,方法,模块,对外扩展开放,对修改关闭, -
里氏替换原则
是说在实现继承时要注意一些原则,
1.子类可以实现父类的抽象方法,
2.子类可以增加自己的方法,
3.子类要重载父类的方法时,方法的参数更加宽松,引用类型要宽松
4.实现父类的抽象方法时 返回值要更加严格。 -
接口隔离原则
尽量将大接口拆分成小接口,接口实现的服务种类要单一,功能性针对性强, -
最少原则也就是迪米特法原则
少交朋友,交际单一,如果不是必要直接通信,应该是三方转发调用,降低耦合度,独立性高。 -
表达原则
代码就是文档,通俗易懂,逻辑清晰。
设计模式
-
工厂模式(主要作用是创建对象)
本质:用来实例化出不同对象,在工厂中的方法来代替了自己创建对象的过程,根据不同的参数类型,工厂统一生成对应的对象,实现了调用者和实体类解耦,
理解: 一个类(工厂类)里面有一个静态方法,根据参数的不同,而返回不同的实例对象,当然不同的实例对象他们都是来自与同一个接口啊。
-
单例模式
先要理解单例模式是什么意思啊,就是始终创建的对象都是同一个对象, 保证一个类只有一个实例,是全局访问点,
单例模式分为饿汉式和饱汉式
饿汉式是指创建对象速度快,
首先第一个步 将构造器私有化,这就意味着不能随便创建对象,
第二步创建一个对象赋值给一个私有静态变量,保证了对象的唯一性,私有 静态
第三步 创建一个公开的静态方法用来返回创建好的对象变量,
懒汉式
解释一下饱汉式是指创建对象速度慢,需要做判断才会创建对象,
第一步要构造器私有化
第二步创建一个私有 静态 volatile 的变量 值为null ;
第三步创建一个静态方法 先判断值是否为空,加上线程锁,在做判断 创建对象返回 ,
- 代理模式
通常是隐藏具体的实现类,在实现类前后添加一些功能或是逻辑,
代理模式有一个 真实类 真实接口 代理类实现真实接口里面有真实类对象 最后用代理类来调用真实类
代理模式说白了就是对实现的接口进行一些包装或是增强,