设计模式之面向对象

面向对象思想的建立
封装 隐藏实现的一些细节,提供一种公共的访问方式。
private来把一些成员变量和成员方法给隐藏起来。
继承 可以具备某些已经存在的功能。
多态 对象在不同时刻体现的不同的状态。
List list = new ArrayList();


list = new LinkedList();


设计思想的区别:
抽象类:是对一组具有相同的属性和方法的在逻辑上有关系的一种抽象。
is a的关系。
接口:对一组具有相同的属性和方法的在逻辑上不相关的事物的一种抽象。
like a的关系。


举例:
人,学生,老师


面向对象设计的几个基本的原则
A:单一职责
系统中的每一个对象应该只有一个单独的职责,所有对象关注的应该是自身职责的完成。
基本思想:高内聚,低耦合。
B:开闭原则
一个对象对扩展开放,对修改关闭。
基本思想:对类的改动是通过增加代码进行的,而不是修改现有的代码。
C:里氏替换原则
在任意父类出现的地方,都可以使用子类来替代。
D:依赖注入原则
要依赖于抽象,不要依赖于具体的实现。
基本思想:在开发中尽量的面向接口编程。
E:接口分离原则
不要去使用一些不需要使用的功能。
基本思想:一个接口不要提供太多的行为。
F:迪米特原则
一个对象对其他的对象应该尽可能少的了解。
基本思想:降低耦合。
G:优先使用组合而不是继承原则


基本思想:在复用对象的时候,要优先考虑组合,而不是继承。因为父类的任何改变都可能直接音响子类的行为。


设计分类
创建型模式:创建对象。
结构行模式:对象的组成及对象的关系。
行为型模式:对象的行为。对象能够做什么。


创建型模式
简单工厂模式
工厂方法模式




 Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、
  单例模式有以下特点:
  1、单例类只能有一个实例。
  2、单例类必须自己创建自己的唯一实例。
  3、单例类必须给所有其他对象提供这一实例。


一、懒汉式单例


[java] view plain copy print?
//懒汉式单例类.在第一次调用的时候实例化自己 
  
public class Singleton {  


    private Singleton() {}  


    private static Singleton single=null;  
    //静态工厂方法   
    public static Singleton getInstance() {  
         if (single == null) {    
             single = new Singleton();  
         }    
        return single;  
    }  
}  


二、饿汉式单例




//饿汉式单例类.在类初始化时,已经自行实例化   


public class Singleton1 {  


    private Singleton1() {}  


    private static final Singleton1 single = new Singleton1();  


    //静态工厂方法   


    public static Singleton1 getInstance() {  


        return single;  
    }  
}  
饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以天生是线程安全的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值