设计模式? 常用的模式有哪些?

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

23种模式

OCP

单例模式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

uml 统一建模语言
用例图
类图

spring IoC

  构造方法注入

  setter方法注入

  集合setter方法注入

  list方法注入

  map注入

  set注入

  Properties 集合

1、构造方法注入

<bean id="df" class="java.text.SimpleDateFormat">
            <constructor-arg>
                <value>yyyy-MM-dd</value>
            </constructor-arg>
            </bean>
            <bean id="s1" class="com.entity.Student">
            <constructor-arg name="id" value="1"/>
            <constructor-arg name="name" value="李四"/>
            <constructor-arg name="address" value="郑州市"/>
            </bean>
            <bean id="s2" class="com.entity.Student"/>

        setter方法注入
            <bean id="s3" class="com.entity.Student">
            <property name="name" value="张三丰"/>
            <property name="id" value="200"/>
            <property name="address" value="北京"/>
            </bean>

2、集合setter方法注入

array

                    <bean id="s1" class="com.entity.Student">
                    <constructor-arg name="id" value="1"/>
                    <constructor-arg name="name" value="李四"/>
                    <constructor-arg name="address" value="郑州市"/>
                    <constructor-arg name="addr">
                        <array>
                        <value>北京</value>
                        <value>天津</value>
                        <value>上海</value>
                        <value>重庆</value>
                        </array>
                    </constructor-arg>
                    </bean>

               <bean id="s3" class="com.entity.Student">
                <property name="name" value="张三丰"/>
                <property name="id" value="200"/>
                <property name="address" value="北京"/>
                <property name="addr">
                    <array>
                    <value>郑州</value>
                    <value>开封</value>
                    <value>洛阳</value>
                    <value>许昌</value>
                    </array>
                </property>
                </bean>

list

<bean id="book" class="com.entity.Book">
                <property name="author">
                    <list>
                    <value>张三</value>
                    <value>张三丰</value>
                    <value>李四</value>
                    </list>
                </property>
                </bean>

map

<bean name="d1" class="java.util.Date"></bean>
 <bean name="d2" class="java.util.Date"></bean>

<bean id="book" class="com.entity.Book">
    <property name="ds">
       <map>
         <entry key="d1" value-ref="d1"/>
         <entry key="d2" value-ref="d2"/>
       </map>
   </property>

   <property name="map">
      <map>
         <entry key="s1" value="李四"/>
         <entry key="s2" value="李四"/>
         <entry key="s3" value="李四"/>
         <entry key="s3" value="李四"/>
     </map>
  /property>

  <property name="author">
     <list>
        <value>张三</value>
        <value>张三丰</value>
        <value>李四</value>
     </list>
  </property></bean>

set

<property name="set">
    <set>
       <value>aaaa</value>
       <value>bbbb</value>
       <value>cccc</value>
       <value>dddd</value>
    </set>
</property>

Properties 集合

<property name="pro">
    <props>
        <prop key="k1">aaa1</prop>
        <prop key="k2">bbb2</prop>
        <prop key="k3">ccc3</prop>
        <prop key="k3">ddd4</prop>
    </props>
</property>

    

时间: 2024-10-06 03:46:21

设计模式? 常用的模式有哪些?的相关文章

iOS.常用设计模式.02.委托模式

WTDelegate #import <Foundation/Foundation.h> @protocol WTDelegate <NSObject> @required - (void)sleep; - (void)eat; - (void)work; @end WTPhilosopher.h #import <Foundation/Foundation.h> #import "WTDelegate.h" @interface WTPhiloso

java常用设计模式之 工厂模式

工厂模式: 定义 一个用于创建对象的接口,让子类决定实例化哪一个类. 一句话概括: 是一个类的实例化延迟到其子类.     适用于 以下情况: ①:当一个类 ,不知道它所必须创建的对象的类的时候. ②:当一个类,希望由它的子类来指定它所创建的对象的时候. ③:当类将创建对象的职责给多个帮助子类中的一个,并且希望将哪一个帮助子类是代理这一信息局部化的时候. 说明: ① Product :定义工厂方法所创建的对象的接口. ② ConcreteProduct:实现Product 接口. ③ Creat

Java设计模式—工厂方法模式&amp;抽象工厂模式

工厂方法模式与抽象工厂模式都是设计模式中重要而且常见的模式.       工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 通用类图如下: 在工厂方法模式中,抽象产品类Product负责定义产品的共性,实现对事物最抽象的定义:Creator为抽象创建 类,也就是抽象工厂,具体如何创建产品类是由具体的实现工厂ConcreteCreator完成的. 工厂方法模式的扩展方式有很多种,下边是工厂方法模式一个比较实用的源代码: 抽象产品类: pub

【设计模式】迭代器模式

迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式.这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示. 迭代器模式属于行为型模式. 介绍 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示. 主要解决:不同的方式来遍历整个整合对象. 何时使用:遍历一个聚合对象. 如何解决:把在元素之间游走的责任交给迭代器,而不是聚合对象. 关键代码:定义接口:hasNext, next. 应用实例:JAVA 中的

Android设计模式之代理模式 Proxy

一.概述 代理模式也是平时比较常用的设计模式之一,代理模式其实就是提供了一个新的对象,实现了对真实对象的操作,或成为真实对象的替身.在日常生活中也是很常见的.例如A要租房,为了省麻烦A会去找中介,中介会替代A去筛选房子,A坐享中介筛选的结果,并且交房租也是交给中介,这就是一个典型的日常生活中代理模式的应用.平时打开网页,最先开到的一般都是文字,而图片等一些大的资源都会延迟加载,这里也是使用了代理模式. 代理模式的组成: Abstract Subject:抽象主题-声明真实主题和代理主题共同的接口

设计模式——创建型模式

简单的说我们可以把23种设计模式可以归为三大类,分别是创建型模式.结构型模式和行为型模式. 今天,首先看一下创建型模式.创建型设计模式包括5种:单例模式(Singleton).工厂方法模式(Factory Method).抽象工厂模式(Abstract Factory).建造者模式(Builder).原型模式(Prototype).  1.单例模式(Singleton)        1)简介 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 单例模式是一种常用的软件设计模式.在它的核心结

设计模式之代理模式 c++实现以及详解

proxy模式 <1> 作用: 为其他对象提供一种代理以控制对这个对象的访问. <2> 代理模式的应用场景: 如果已有的方法在使用的时候需要对原有的方法进行改进,此时有两种办法: 1.修改原有的方法来适应.这样违反了"对扩展开放,对修改关闭"的原则. 2.就是采用一个代理类调用原有的方法,且对产生的结果进行控制.这种方法就是代理模式. 使用代理模式,可以将功能划分的更加清晰,有助于后期维护! <3> 结构图 代理类,含有一个指向RealSubject

5分钟理解设计模式之工厂模式

工厂模式是Java中最常用的设计模式.工厂模式提供很好的创建对象的方式,属于创建型模式. 使用工厂模式创建对象是不向使用者暴露创建细节,并且可以通过统一的接口引用对象. 实现 我们将创建Shape接口和实现Shape接口的具体类.下一步再声明工厂类ShapeFactory. 示例类FactoryPatternDemo使用ShapeFactory获取Shape对象.通过给ShapeFactory传递图形参数(CIRCLE / RECTANGLE / SQUARE)来获取需要的对象. 第1步 创建一

设计模式3——建造者模式

1解释 1.1定义 将一个复杂对象的构建与他的表示分离,使得同样的构建可以创建不同的表示. 1.2分析 首先我们看看一般的实例化对象的方法,如下面代码: Roboter roboter = new Roboter(); roboter.setmArm("arm"); roboter.setmBody("body"); roboter.setmHead("head"); roboter.setmFoot("foot"); 对于R