架構學習之路(一)原始碼分析 4 原型模式

2021-10-09 17:00:52 字數 1596 閱讀 1719

架構學習之路(一)原始碼分析 3 單例模式

原型模式(prototype)

建立型有乙個原型

資料內容相同,但物件例項不同

dto、vo、pojo、entity…

dto 和 vo 之間存在一些屬性名稱、型別都相同,資料庫中表查詢出來的物件會賦值給 dto,mvc 中的 model 把 dto 中的值賦值給 vo,再把 vo 中的值傳輸到 view 中去

複製,屬性名稱相同、屬性內容相同、屬性值相同

spring scope=「prototype」:把物件中配置的依賴關係,在每次使用物件之前,都會建立乙個新的物件,並且會將依賴關係完整的賦值給新建立的物件

實現方式

反射去實現,效能低,apache

clone 實現,效能高

生活場景:孫悟空吹毫毛變猴子

/**

* 淺複製

**/public

class

prototype

implements

cloneable

public string getname()

public

void

setname

(string name)

public arraylist

getarraylist()

public

void

add(string str)

}public

class

monkey

public

void

setheight

(double height)

public

double

getweight()

public

void

setweight

(double weight)

public date getbirthday()

public

void

setbirthday

(date birthday)

}public

class

jingubang

implements

serializable

public

void

small()

}/**

* 深複製

*/public

class

wukong

extends

monkey

implements

cloneable

,serializable

public jingubang getjingubang()

@override

public object clone()

throws clonenotsupportedexception

private object deepclone()

catch

(ioexception

| classnotfoundexception e)

}}

SPRING原始碼學習之路(一)

結合 spring技術內幕 深入解析spring架構與設計原理 這本書開啟spring學習之路。ps 之前其實已經看過一部分了,但是也就是看過,一看而過了。o o 物件初始化時候 呼叫refresh 啟動了beandifinition載入過程 throws bean ception refresh ...

Tomcat原始碼分析 架構

下面談談我對tomcat架構的理解 總體架構 面向元件架構 基於jmx 事件偵聽 1 面向元件架構 tomcat 看似很龐大,但從結構上看卻很清晰和簡單,它主要由一堆元件組成,如server service connector等,並基於jmx管理這些元件,另外實現以上介面的元件也實現了代表生存期的介...

Vue 原始碼分析 建構函式原型

在執行 npm run dev 的時候 根據 script config.js 檔案中的配置 web full dev banner 可知入口檔案為 web entry runtime with compiler.js 最終輸出為 dist vue.js 有乙個umd 模組 模組的型別總共有 iif...