你所了解的設計模式

2021-10-10 02:48:59 字數 2527 閱讀 8448

定義

示例:singletonpattern

/// /// 單例模式的特點

/// (1)私有的構造方法

/// (2)私有的靜態的變數

/// (3)自定義的例項化的方法

///

public class singleton

//要素2

//靜態私有成員變數

private static singleton objinstance;

//要素3

public static singleton getinstance()

return objinstance;

//偽碼,實現鎖

/*lock;

if (objinstance == null)

return objinstance;

*///偽碼,實現雙檢查鎖,會出現reorder

//(記憶體分配->構造器->賦值,此過程發生混亂,先賦值[此時為 // null],後面再記憶體分配,其實此時物件仍然為空,存在欺騙 // 性)

/*if (objinstance == null)

}return objinstance;*/}

public void showcount()

}

class program

console.readkey();

}}

定義

示例:prototypepattern

[serializable]//表示可以進行序列化操作

public class member

public string name

}

//程式集「prototypepattern, version=1.0.0.0, culture=neutral, publickeytoken=null」中的型別「prototypepattern.person」未標記為可序列化。

[serializable]//若未定義為可序列化,則會報上述錯誤

public class person : icloneable

public member member

public object clone()

public person()

#region 靜態方式建立物件

private static person _person;

static person()

public static person staticclone()

#endregion

}

public class serializehelper

}catch (exception e)

}/// /// 反序列化

///

///

///

///

public static t derializable(string target)

}/// /// 合併 序列化與反序列化

///

///

///

///

public static t deepclone(t t)

}

/// /// 原型模式:保留乙份原始,其它可根據此進行拷貝。

/// 示例:深拷貝與淺拷貝

/// 深拷貝:對於引用型別資料會拷貝乙份,修改後,不會影響原始資料。

/// 淺拷貝:對於引用型別資料不會拷貝,因此修改後,對原始資料有影響。

/// 深拷貝或淺拷貝均會對值資料複製乙份。

///

///

static void main(string args)

其它

定義 理解

定義理解 定義

理解 定義

示例:proxypattern

inte***ce isubject

public class concretesubject2 : isubject

}

public class proxy2 : isubject

concretesubject2.request();

}}

/// /// **模式特點:

/// 1、具體類與**類繼承抽象類(或介面)

/// 2、重寫方法

/// 3、在**中呼叫具體類中實現的方法

///

class program

}

說明:對於實現類concretesubject2中方法request()加入列印日誌功能,直接更改request()方法,這是不太合理的。使用**類,則能不更改類concretesubject2中方法request()**。缺點:增加了**量。

淺拷貝

深淺拷貝區別

定義定義

不為你所了解的諾基亞

公司型別public omx nok1v nyse nok stockholmsborsen noki frankfurter wertpapierborse noa3 成立時間芬蘭諾基亞 1865年 總部地點芬蘭埃斯波 重要人物fredrik idestam,founder jorma ollil...

我所了解的java設計模式之建造者模式

建造者模式 將乙個複雜物件的構造與它的表示分離,使同樣的構建過程可以建立不同的表示,這樣的設計模式被稱為建造者模式。建造者模式於抽象工廠模式區別 建造者模式關注的是零件型別和裝配工藝 順序 而工廠模式是建立乙個物件,這是最大不同的地方。這裡是更詳細的說法 director 控制者類,這是控制整個組合...

你所不太了解的位運算

與 或 非 異或這些運算子的含義就不過多介紹了,本篇文章主要通過乙個例題來介紹如何靈活使用位運算子,來給我們的演算法錦上添花。例題如下 演算法 如下 class solution return ones 解題思路如下圖所示 考慮數字的二進位制形式,對於出現三次的數字,各二進位制位出現的次數都是3的倍...