zoukankan      html  css  js  c++  java
  • 设计模式:简述

    设计模式是在编程历史中大家总结出来解决一类问题的经验。、

        一共有23中设计模式,现在简单的介绍几种。

    1代理模式 (类似显示)

      静态代理

          目标对象(真实对象)

          代理对象

          原理:代理对象和目标对象实现同样的接口,

            然后就可以在程序中使用代理对象,

            调用目标对象,以及对目标对象的方法做一定的增强。(效果:在不改变对象源码的情况下,对对象做一定的增强)

      动态代理

       

     目标对象(真实对象)

          代理对象

        原理:动态代理和静态代理的区别:是静态代理中代理对象需要有一个具体的类,来创建代理对象,动态代理是使用Proxy对象在内中中生成一个代理对象,然后对象对象进行一定的增强。

    2装饰者模式

      装饰者模式和代理模式有一定的相似性,但是没有代理模式灵活,推荐使用代理模式。

    3适配器模式

      只用对适配器做一定的改动,即可让其适配其他类似的对象。

    4单例模式

        单例模式:是指使用一定的方式,让该对象整个项目中只能存在一个  : 核心(构造私有) ,提供公共方法,创建对象

        懒汉式:在调用对象时再对对象进行创建(好处:节约内存,弊端:效率差一点) (和jvm中的懒加载相似)

          实现:

              public class SingoClass()

              {

              private SingoClass(){};

              private SingoClass singoClass

              

              public getInstance(){

                  if(singoClass==NULL)

                  {

                  singoClass = new SingoClass ();

                }

            return SingoClass ;

          }

               }

      

        饿汉式:在项目初始化时,就直接创建一个对象,然后进行返回 (好处:效率高。弊端:占用内存)  核心 (构造私有)提供外部访问方法

          

              实现:public class SingoClass()

              {

              private SingoClass(){};

              private SingoClass singoClass

            singoClass = new SingoClass ();

                  public getInstance

                  {

                  return SingoClass ;

                }

                 

               }

  • 相关阅读:
    [Effective JavaScript 笔记]第54条:将undefined看做“没有值”
    [Effective JavaScript 笔记]第53条:保持一致的约定
    UDP打洞原理介绍
    Uboot启动分析之Start.S
    MMU
    linux_shell
    SSH2配置
    线程同步
    C#线程基础
    客户端服务器通讯常用的一种方法——Marshal类
  • 原文地址:https://www.cnblogs.com/qmk-716/p/12160393.html
Copyright © 2011-2022 走看看