1. 程式人生 > >Abstract Factory Pattern(抽象工廠模式)

Abstract Factory Pattern(抽象工廠模式)

介紹
提供一個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。


示例
有Message和MessageModel,Message有一個Insert()方法,該方法的引數是MessageModel。



AbstractMessageModel
using System;
using System.Collections.Generic;
using System.Text;

namespace Pattern.AbstractFactory
{
    
///<summary>
    
/// 抽象Message實體類(AbstractProduct)
    
///</summary>

publicabstract
class AbstractMessageModel
    
{
        
///<summary>
        
/// 建構函式
        
///</summary>

public AbstractMessageModel()
        
{

        }


        
///<summary>
        
/// 建構函式
        
///</summary>
        
///<param name="msg">Message內容</param>
        
///<param name="pt">Message釋出時間</param>

public AbstractMessageModel(string msg, DateTime pt)
        
{
            
this._message = msg;
            
this._publishTime = pt;
        }


        
privatestring _message;
        
///<summary>
        
/// Message內容
        
///</summary>

publicstring Message
        
{
            
getreturn _message; }
            
set{ _message = value; }
        }


        
private DateTime _publishTime;
        
///<summary>
        
/// Message釋出時間
        
///</summary>

public DateTime PublishTime
        
{
            
getreturn _publishTime; }
            
set{ _publishTime = value; }
        }


        
///<summary>
        
/// UserId
        
///</summary>

publicabstractstring UserId
        
{
            
get;
            
set;
        }

    }

}


SqlMessageModel
using System;
using System.Collections.Generic;
using System.Text;

namespace Pattern.AbstractFactory
{
    
///<summary>
    
/// SqlMessage實體類(Product)
    
///</summary>

publicclass SqlMessageModel : AbstractMessageModel
    
{
        
///<summary>
        
/// 建構函式
        
///</summary>

public SqlMessageModel()
            : 
base()
        
{

        }


        
///<summary>
        
/// 建構函式
        
///</summary>
        
///<param name="userId">UserId</param>
        
///<param name="msg">Message內容</param>
        
///<param name="pt">Message釋出時間</param>

public SqlMessageModel(string userId, string msg, DateTime pt)
            : 
base(msg, pt)
        
{
            
this._userId = userId;
        }


        
privatestring _userId;
        
///<summary>
        
/// Message內容
        
///</summary>

publicoverridestring UserId
        
{
            
getreturn _userId; }
            
set{ _userId = value; }
        }

    }

}


XmlMessageModel
using System;
using System.Collections.Generic;
using System.Text;

namespace Pattern.AbstractFactory

相關推薦

Abstract Factory Pattern(抽象工廠模式)

介紹提供一個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。示例有Message和MessageModel,Message有一個Insert()方法,該方法的引數是MessageModel。AbstractMessageModel using System;us

Abstract Factory抽象工廠)——物件建立型模式

Abstract Factory(抽象工廠)——物件建立型模式 意圖 典型應用場景 傳統三層架構 改進的三層架構 抽象工廠程式碼實現 總結 意圖 提供一個建立一系列相關或相互依賴物件的介面,而無需

[Design Pattern] 抽象工廠模式

app 開閉原則 分離 virtual turn name delet () 改進 工廠方法模式 讓一個具體的類對應一個工廠。然後把所有工廠進行抽象。通過抽象工廠實現具體的工廠來創建對象。如果需要新增一個類,那麽就需要創建一個工廠類來創建對象 優點: 1. 符合開閉原則。是

Simple Factory Pattern--簡單工廠模式

介紹:簡單工廠模式不能說是一個設計模式,說它是一種程式設計習慣可能更恰當些。因為它至少不是Gof23種設計模式之一。但它在實際的程式設計中經常被用到,而且思想也非常簡單,可以說是工廠方法模式的一個引導。 動機:當你需要什麼,只需要傳入一個正確的引數,就可以獲取你所需要的物件,而無須知道其建立細

2,抽象工廠模式Abstract Factory Pattern抽象工廠可以一下生產一個產品族(裏面有很多產品組成)

creat name hba abstract 模式 存在 names cto 園區 備註  工廠模式:要麽生產香蕉、要麽生產蘋果、要麽生產西紅柿;但是不能同時生產一個產品組。     抽象工廠:能同時生產一個產品族。===》抽象工廠存在原因 解釋 : 具體工廠

抽象工廠模式Abstract Factory Pattern

rac left nbsp rri class a 生成 color wid nds 抽象工廠模式:抽象工廠模式(Abstract Factory Pattern)是圍繞一個超級工廠創建其他工廠。該超級工廠又稱為其他工廠的工廠。

【設計模式抽象工廠模式 Abstract Factory Pattern

輸出結果 決定 操作 靜態工廠模式 void inter excel erp fault 簡單工廠模式是一個工廠類根據工廠方法的參數創建不出不同的產品, 工廠方法模式是每一個產品都有一個一一對應的工廠負責創建該產品。那麽今天要講的抽象工廠模式是一個工廠能夠產生關聯的一系列產

06 抽象工廠模式Abstract Factory Pattern

隔了兩三天,今天在複習兩個設計模式。 描述性文字 上節通過奶茶店的例子引入了簡單工廠模式與工廠方法模式, 本節我們來繼續通過這個例子引出抽象工廠模式! 程式碼示例 package abstractFactoryPattern; import java.util.Rando

抽象工廠模式Abstract Factory Pattern):簡單&粗暴解析

1.前言 在之前的文章設計模式(Design pattern):簡單&粗暴解析中已經為大家深入淺出解析了 設計模式 的 七大原則、三大型別。 本文為大家解析三大型別中 建立型 裡其中的 抽象工廠模式。 文章中例項  linhaojian的Git

設計模式實戰 - 抽象工廠模式Abstract Factory Pattern

0 導讀 工廠方法模式人是造出來了,可都是清一色的型別,缺少關愛、仇恨、喜怒哀樂等情緒,人類的生命太平淡了,忘記給人類定義性別了,那怎麼辦? 從頭開始建立所有的事物也是不可能的,那就想在現有的條件下重新造人,儘可能舊物利用嘛 人種(Product產品類)應該怎麼改造呢?怎麼才能讓人類有愛有恨呢?定義互斥的性

用心理解設計模式——抽象工廠模式 (Abstract Factory Pattern)

前置文章: 用心理解設計模式——設計模式的原則  設計模式相關程式碼已統一放至 我的 Github   一、定義   建立型模式之一。   Provide an interface for creating families of

建立型: 抽象工廠模式(Abstract Factory Pattern)

抽象工廠模式(Abstract Factory Pattern) 抽象工廠模式(Abstract Factory Pattern)為建立一組相關或相互依賴的物件提供一個介面,而且無需指定他們的具體類。抽象工廠模式屬於建立型模式,建立型模式包括FactoryMe

重走Java設計模式——抽象工廠模式Abstract Factory Pattern

抽象工廠模式 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的一種形態。 抽象工廠模式是指當有多個抽象角色時,使用的一種工廠模式。抽象工廠模式可以向客戶端提供一個介面,使客戶端在不必指定產品的具體的情況下,建立多個產品族中的產品物件。根據里氏替換原則,任

C++抽象工廠模式Abstract Factory Pattern

  抽象工廠模式(Abstract Factory Pattern)是圍繞一個超級工廠建立其他工廠。該超級工廠又稱為其他工廠的工廠。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。在抽象工廠模式中,介面是負責建立一個相關物件的工廠,不需要顯式指定它們的類。每個生成的工

設計模式抽象工廠模式Abstract Factory Pattern

/** * 抽象工廠模式。<br/> * 抽象工廠模式提供一個介面,用於建立相關或依賴物件的家族,而不需要明確指定具體類。 * @author Bright Lee */ public class AbstractFactoryPattern { public sta

大白話抽象工廠模式Abstract Factory Pattern

例項分析 大白話工廠方法模式(Factory Method)一文中,我們講解了日產4S店工廠規模的擴大,建立了針對不同車型的工廠,減少了工廠的工作內容,提高了效率。下面我們繼續以4S店的故事討論抽象工廠模式。 為了滿足各個階層的客戶,日產公司推出了豪華系列品牌英菲尼迪,而且為了吸引客戶購買,購車贈送行車記錄儀

c++ 設計模式9 (Abstract Factory 抽象工廠模式

構建 數據庫 strac 無需 div exec oracl dfa tle 5.2 抽象工廠模式 動機:在軟件系統中,經常面臨著“一系列相互依賴的對象”的創建工作;同時,由於需求的變化,往往存在更多系列對象的創建工作。 代碼示例: 實現利用數據庫的業務邏輯,支持多數據

設計模式(3)抽象工廠模式Abstract Factory

開始 line andro 依賴 red 單例 clas 面向接口 抽象工廠方法 設計模式(0)簡單工廠模式 設計模式(1)單例模式(Singleton) 設計模式(2)工廠方法模式(Factory Method) 源碼地址 0 抽象工廠模式簡介 0.0 抽象工廠模式定義

【Unity與23種設計模式抽象工廠模式Abstract Factory

根據 strac 結果 產品 不同 面試 public str 構建 GoF中定義: “提供一個能夠建立整個類群組或有關聯的對象,而不必指明它們的具體類。” 意思就是 根據不同的執行環境產生不同的抽象類子類 抽象工廠模式經常在面試中會涉及到 下面的例子為工廠1和

c#設計模式3抽象工廠模式Abstract Factory

bubuko write col 實現 trac 技術分享 返回 lin 子類 #region 坦克系列 abstract class Tank { abstract public void Go(); } /// &