android 开发的7/365 设计模式复习

创建型模式:


1.工厂模式:

        产品父类,产品子类A   产品子类B 

                          工厂生产以上所有产品

        用户直接从工厂拿对应需求产品


2.Builder 

        强行将产品类的构造过程分布的方法,也适合构造过程步骤较多的方法:EG :如果要喝星巴克的某种咖啡,首先需要星巴克这个父类,然后需要咖啡和奶茶这两个子类,里面有父类“温度”“品种”的接口实现,同时有GETDrink的函数.然后就是服务员类,传入对应的builder然后返回对应的drink.


3.工厂方法模式:

        是工厂模式的加强版,不只是产品有抽象,工厂也有抽象。

        一个产品对应一个工厂


4.抽象工厂模式:

        产品有N个大类,工厂有N个属性,比如水果是产品抽象,有香蕉和苹果两个大类,工厂有南方,北方,两个属性。相当于有4中水果,那么每增加一个工厂可以增加2中水果。


5. 观察者模式:Observer,Observable 这是JAVA自带的方法,也可以自己写接口。

     自己写接口Observable.包含三个方法:1.register(Observer o)方法 2.remove(Observer o)方法,3.notify方法 

             写Observer接口:包含一个方法: update(Obj obj);

     写一个bean对象A。

     写一个类B继承Observer类,里面重写update 方法。也就是收到更新之后的动作。

     最后是在Publisher继承Observer 类  Publilsher.register(B)。当产生一个新的A时,调用Publisher.notify(){ B.update(A)方法。并传入对象。

     


6.装饰者模式:装饰者模式主要实现的功能是,产品A,经过DECORATOR1,具备了decorator1赋予它的功能。以此类推。可以不断包装进阶。

                         核心方法是产品A的show方法()。在主Decorator中只有show的抽象方法,需要强制子类继承。。继承类中实现该接口,并有添加新特性的方法,在show方法                            中调用,其中Decorator继承产品A,那么所有的类最后都继承产品A。

                         该模式的特点就是: 每一个类都直接或间接继承于产品A。只有类,没有接口


7.模板方法模式:最主要的特点,他决定了方法的调用顺序,但是不规定方法的内部细节。


8.单例:           饿汉式: private fianl static  A  a=  new A();

                                         private A(){}

                                          public static A getA(){

                                                             return A; }

                         懒汉式: private fianl static A;

                                         private A(){}

                                        public static A getA(){

                                                    if(a== null){

                                                         a= new A();}

                                                    return a;

                            双重锁:

类似懒汉式: public static A(){
if(a == null){
synchronized(A.class)
if(a == null )
a = new A();




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值