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

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

设计模式(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>