2016-01-17 13:45:33 +01:00
|
|
|
---
|
|
|
|
layout: pattern
|
|
|
|
title: Factory Kit
|
|
|
|
folder: factory-kit
|
|
|
|
permalink: /patterns/factory-kit/
|
|
|
|
categories: Creational
|
2021-05-19 10:49:05 -06:00
|
|
|
language: en
|
2016-01-17 13:45:33 +01:00
|
|
|
tags:
|
2019-12-13 21:09:28 +02:00
|
|
|
- Extensibility
|
2016-01-17 13:45:33 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
## Intent
|
2016-02-21 12:54:40 +01:00
|
|
|
Define a factory of immutable content with separated builder and factory interfaces.
|
2016-01-17 13:45:33 +01:00
|
|
|
|
2019-12-07 20:01:13 +02:00
|
|
|
## Class diagram
|
2016-02-15 20:37:16 +01:00
|
|
|

|
2016-01-17 13:45:33 +01:00
|
|
|
|
|
|
|
## Applicability
|
|
|
|
Use the Factory Kit pattern when
|
|
|
|
|
|
|
|
* a class can't anticipate the class of objects it must create
|
2016-02-15 20:37:16 +01:00
|
|
|
* you just want a new instance of a custom builder instead of the global one
|
|
|
|
* you explicitly want to define types of objects, that factory can build
|
|
|
|
* you want a separated builder and creator interface
|
2016-01-17 13:45:33 +01:00
|
|
|
|
|
|
|
## Credits
|
|
|
|
|
|
|
|
* [Design Pattern Reloaded by Remi Forax: ](https://www.youtube.com/watch?v=-k2X7guaArU)
|