設計模式之靜態工廠的使用

2021-08-08 11:46:26 字數 3254 閱讀 5716

靜態工廠類

package com.pbh.filter;

import com.alibaba.fastjson.serializer.propertyfilter;

/** *

* description: 過濾序列化屬性靜態工廠類

*@author panbaihui

*@time 2023年9月19日 下午2:14:36

*/public

class

propertyfilte***ctory

/***

*@description:**物件過濾

*@author panbaihui

*@time 2023年9月19日 下午2:20:06

*@return propertyfilter

*/public

static propertyfilter carsubbrand******propertyfilter()

/***

*@description:車型過濾

*@author panbaihui

*@time 2023年9月19日 下午2:19:50

*@return propertyfilter

*/public

static propertyfilter cartype******propertyfilter()

}

介面實現類

package com.pbh.filter;

import org.hibernate.collection.spi.persistentcollection;

import org.hibernate.proxy.hibernateproxy;

import org.hibernate.proxy.lazyinitializer;

import com.alibaba.fastjson.serializer.propertyfilter;

/** *

* description: 序列化時忽略**的懶載入物件

*@author panbaihui

*@time 2023年9月15日 下午4:15:45

*/public

class

******propertyfilter

implements

propertyfilter

} else

if (value instanceof persistentcollection)

object val = collection.getvalue();

if (val == null)

} return

true;

}}

package com.pbh.filter;

import org.hibernate.collection.spi.persistentcollection;

import org.hibernate.proxy.hibernateproxy;

import org.hibernate.proxy.lazyinitializer;

import com.alibaba.fastjson.serializer.propertyfilter;

import com.lianshangche.model.car.carseries;

import com.lianshangche.model.car.carsubbrand;

/** *

* description: 過濾hibernate懶載入不能序列化物件

*@author panbaihui

*@time 2023年9月15日 下午4:15:45

*/public

class

carsubbrand******propertyfilter

implements

propertyfilter ;

@override

public

boolean

if (value instanceof hibernateproxy)

} else

if (value instanceof persistentcollection)

object val = collection.getvalue();

if (val == null)

}if (object.getclass().equals(classname)||object.getclass().equals(carseriesclassname)) }}

return

true;

}}

package com.pbh.filter;

import org.hibernate.collection.spi.persistentcollection;

import org.hibernate.proxy.hibernateproxy;

import org.hibernate.proxy.lazyinitializer;

import com.alibaba.fastjson.serializer.propertyfilter;

import com.lianshangche.model.car.cartype;

/** *

* description: 過濾hibernate懶載入不能序列化物件

*@author panbaihui

*@time 2023年9月15日 下午4:15:45

*/public

class

cartype******propertyfilter

implements

propertyfilter ;

@override

public

boolean

if (value instanceof hibernateproxy)

} else

if (value instanceof persistentcollection)

object val = collection.getvalue();

if (val == null)

}if (object.getclass().equals(classname)) }}

return

true;

}}

設計模式 靜態工廠模式

追mm少不了請吃飯了,麥當勞的雞翅和肯德基的雞翅都是mm愛吃的東西,雖然口味有所不同,但不管你帶mm去麥當勞或肯德基,只管向服務員說 來四個雞翅 就行了。麥當勞和肯德基就是生產雞翅的factory 工廠模式 客戶類和工廠類分開。消費者任何時候需要某種產品,只需向工廠請求即可。消費者無須修改就可以接納...

設計模式之簡單工廠模式(靜態工廠方法)

模式定義 從設計模式的型別上來說,簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法 static factory method 模式,但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙...

php設計模式 簡單工廠(靜態工廠)模式

class factory 簡單工廠類 靜態工廠方法類 屬於 建立型模式 在簡單工廠模式中,可以根據引數的不同返回不同類的例項.簡單工廠模式專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類 class factory return new type 操作類 abstract c...