<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    waysun一路陽光

    不輕易服輸,不輕言放棄.--心是夢的舞臺,心有多大,舞臺有多大。踏踏實實做事,認認真真做人。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 64 評論 :: 0 Trackbacks

    一.工廠模式,以數據庫的業務邏輯為簡單例子,里面有很多不合理的地方,目的是為了闡述對工廠模式的理解。

    1.聲明接口BaseDAO

    /**
     **<p>工廠接口</p>
     **作者:    
     **Blong:http://m.tkk7.com/1504
     **E-mail:yyk1504@163.com
     **QQ:251218333
     **<p>2008-12-16 下午02:08:15</p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;

    public interface BaseDAO
    {
        /**數據庫的插入方法*/
        public void save();  
        /**數據庫的更新方法*/
        public void update();
        /**數據庫的刪除方法*/
        public void delete();
    }

    2.MYSQL具體實現MysqlDAO

    *<p>Mysql數據庫實現業務邏輯類</p>
     *作者:    
     *Blong:http://m.tkk7.com/1504
     *E-mail:yyk1504@163.com
     *QQ:251218333
     *<p>2008 2008-12-16 </p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;
    import java.sql.DriverManager;

    public class MysqlDAO implements BaseDAO
    {

        public void delete()
        {
            /**
             *<p>此方法的功能介紹</p>
             *delete
             *MysqlDao
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:16:27</p>
            */
            System.out.println("Mysql在此處實現刪除....");
        }

        public void save()
        {
            /**
             *<p>此方法的功能介紹</p>
             *save
             *MysqlDao
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:16:27</p>
            */
            System.out.println("Mysql在此處實現保存....");
        }

        public void update()
        {
            /**
             *<p>此方法的功能介紹</p>
             *update
             *MysqlDao
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:16:27</p>
            */
            System.out.println("Mysql在此處實現更新....");
        }

        
    }

    3.SQL2000具體實現類

    /**
     *<p>MsSql2000數據庫實現業務邏輯類</p>
     *作者:    
     *Blong:http://m.tkk7.com/1504
     *E-mail:yyk1504@163.com
     *QQ:251218333
     *<p>2008 2008-12-16 </p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;
    import java.sql.DriverManager;

    public class MsSql2000DAO implements BaseDAO
    {

        public void delete()
        {
            /**
             *<p>此方法的功能介紹</p>
             *delete
             *MsSql2000DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:21:04</p>
            */
            System.out.println("MsSql2000在此處實現刪除....");
        }

        public void save()
        {
            /**
             *<p>此方法的功能介紹</p>
             *save
             *MsSql2000DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:21:04</p>
            */
            System.out.println("MsSql2000在此處實現保存....");
        }

        public void update()
        {
            /**
             *<p>此方法的功能介紹</p>
             *update
             *MsSql2000DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:21:04</p>
            */
            System.out.println("MsSql2000在此處實現更新....");
        }

        }

    4.SQL2005具體實現類

    /**
     *<p>MsSql2005數據庫實現業務邏輯類</p>
     *作者:    
     *Blong:http://m.tkk7.com/1504
     *E-mail:yyk1504@163.com
     *QQ:251218333
     *<p>2008 2008-12-16 </p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;
    import java.sql.DriverManager;

    public class MsSql2005DAO implements BaseDAO
    {

        public void delete()
        {
            /**
             *<p>此方法的功能介紹</p>
             *delete
             *MsSql2005DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:23:38</p>
            */
            System.out.println("MsSql2005在此處實現刪除....");
        }

        public void save() {
            /**
             *<p>此方法的功能介紹</p>
             *save
             *MsSql2005DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:23:38</p>
            */
            System.out.println("MsSql2005在此處實現保存....");
        }

        public void update()
        {
            /**
             *<p>此方法的功能介紹</p>
             *update
             *MsSql2005DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:23:38</p>
            */
            System.out.println("MsSql2005在此處實現更新....");
        }

        
    }

    5.ORACLE具體實現類

    /**
     **<p>Oracle數據庫實現業務邏輯類</p>
     **作者:    
     **Blong:http://m.tkk7.com/1504
     **E-mail:yyk1504@163.com
     **QQ:251218333
     **<p>2008-12-16 下午02:11:59</p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;
    import java.sql.DriverManager;

    public class OracleDAO implements BaseDAO
    {

        public void delete()
        {
            /**
             *<p>此方法的功能介紹</p>
             *delete
             *OracleDao
             *
             *Author:ASUS_1
             *<p>2008 2008-12-16 下午02:12:59</p>
            */
            System.out.println("Oracle在此處實現刪除....");
        }

        public void save()
        {
            /**
             *<p>此方法的功能介紹</p>
             *save
             *OracleDao
             *
             *Author:ASUS_1
             *<p>2008 2008-12-16 下午02:12:59</p>
            */
            System.out.println("Oracle在此處實現保存....");
        }

        public void update()
        {
            /**
             *<p>此方法的功能介紹</p>
             *update
             *OracleDao
             *
             *Author:ASUS_1
             *<p>2008 2008-12-16 下午02:12:59</p>
            */
            System.out.println("Oracle在此處實現更新....");
        }

      
    }

    6.工廠類

    /**
     *<p>數據庫業務工廠</p>
     *作者:    
     *Blong:http://m.tkk7.com/1504
     *E-mail:yyk1504@163.com
     *QQ:251218333
     *<p>2008-12-16 </p>
    */
    package cn.com.model.factory;
    import cn.com.model.factory.*;
    public class DaoFactory

    {
         public BaseDAO createFactory(String type)
         {   
                     if ("Mysql".equals(type))
                     {   
                         return new MysqlDAO();   
                     }
                     else
                     if ("MsSql2000".equals(type))
                     {   
                         return new MsSql2000DAO();   
                     }
                     else  
                     if ("MsSql2005".equals(type))
                     {   
                         return new MsSql2005DAO();   
                     }
                     else  
                     if ("Oracle".equals(type))
                     {   
                         return new OracleDAO();   
                     }
                         return null;   
                 }   
               
                 public static void main(String[] args)
                 {   
                     DaoFactory creator = new DaoFactory();   
                     BaseDAO mysqlDAO=creator.createFactory("Mysql");  
                     mysqlDAO.save();
                     mysqlDAO.update();
                     mysqlDAO.delete();
                    
                     System.out.println("---------------------------------");
                    
                     BaseDAO msSql2000DAO=creator.createProduct("MsSql2000");  
                     msSql2000DAO.save();
                     msSql2000DAO.update();
                     msSql2000DAO.delete();
                    
                     System.out.println("---------------------------------");
                    
                     BaseDAO msSql2005DAO=creator.createProduct("MsSql2005");  
                     msSql2005DAO.save();
                     msSql2005DAO.update();
                     msSql2005DAO.delete();
                    
                     System.out.println("---------------------------------");
                    
                     BaseDAO oracleDAO=creator.createProduct("Oracle");  
                     oracleDAO.save();
                     oracleDAO.update();
                     oracleDAO.delete();

                 }    
    }

     

    posted on 2008-12-16 16:50 weesun一米陽光 閱讀(2297) 評論(4)  編輯  收藏 所屬分類: 23種編程模式

    評論

    # re: java設計模式(1)--工廠模式及其實例【原創】 2008-12-16 16:53 草包書生
    堅決反對用mysql,前一段時間用mysql弄德我哭笑不得。還是用sql好。  回復  更多評論
      

    # re: java設計模式(1)--工廠模式及其實例【原創】 2008-12-16 21:23
    樓上的你太太太夸張了吧?
    習慣問題  回復  更多評論
      

    # re: java設計模式(1)--工廠模式及其實例【原創】 2008-12-17 09:36 caiban
    不能因為你不習慣就說mysql不好吧
    那我不習慣SQL,是否也可以說:堅決反對用mssql,前一段時間用mssql弄德我哭笑不得。還是用mysql好。呵呵  回復  更多評論
      

    # re: java設計模式(1)--工廠模式及其實例【原創】 2011-12-16 23:16 chzhxiang
    @草包書生
    呵呵,有利有弊的  回復  更多評論
      

    主站蜘蛛池模板: 国产国拍亚洲精品福利| 国产精品久久免费| 亚洲精品99久久久久中文字幕| 亚洲一区在线观看视频| 精品无码无人网站免费视频| 亚洲精品免费视频| 最近中文字幕高清免费中文字幕mv| 久久久久亚洲AV成人无码| 久久免费公开视频| 久久免费动漫品精老司机 | 美女黄色免费网站| 色猫咪免费人成网站在线观看| 国产精品久久免费视频| 亚洲av无码一区二区三区四区| 青青青青青青久久久免费观看| 精品亚洲成A人在线观看青青 | 亚洲国产精品嫩草影院久久| 一级看片免费视频囗交| 亚洲国产精品无码专区在线观看| 国产成人精品无码免费看| 亚洲天堂中文字幕在线观看| 最近的免费中文字幕视频| 午夜亚洲国产精品福利| 国产亚洲av片在线观看18女人| 久操视频在线免费观看| 色噜噜亚洲男人的天堂| 国产人成免费视频| 任你躁在线精品免费| 奇米影视亚洲春色| 99精品热线在线观看免费视频| 亚洲一区二区三区在线观看精品中文| 人妻在线日韩免费视频| 亚洲人成高清在线播放| 无码欧精品亚洲日韩一区夜夜嗨 | 久久精品亚洲一区二区三区浴池| 69天堂人成无码麻豆免费视频| 国产尤物在线视精品在亚洲| 亚洲综合在线观看视频| 麻豆精品国产免费观看| 日韩电影免费在线观看网站| 在线aⅴ亚洲中文字幕|