Files
abstract-factory
adapter
async-method-invocation
bridge
builder
business-delegate
callback
chain
chain-of-responsibility
command
composite
dao
decorator
dependency-injection
double-checked-locking
double-dispatch
event-aggregator
execute-around
facade
factory-method
flux
flyweight
front-controller
half-sync-half-async
intercepting-filter
interpreter
iterator
layers
lazy-loading
mediator
memento
model-view-controller
model-view-presenter
multiton
naked-objects
null-object
object-pool
observer
poison-pill
private-class-data
etc
src
index.md
pom.xml
property
prototype
proxy
reactor
repository
resource-acquisition-is-initialization
servant
service-layer
service-locator
singleton
specification
state
step-builder
strategy
template-method
thread-pool
tolerant-reader
visitor
.gitignore
.travis.yml
LICENSE.md
README.md
pom.xml
java-design-patterns/private-class-data/index.md

19 lines
532 B
Markdown
Raw Normal View History

---
layout: pattern
title: Private Class Data
folder: private-class-data
permalink: /patterns/private-class-data/
categories: Other
tags: Java
---
**Intent:** Private Class Data design pattern seeks to reduce exposure of
attributes by limiting their visibility. It reduces the number of class
attributes by encapsulating them in single Data object.
![alt text](./etc/private-class-data.png "Private Class Data")
**Applicability:** Use the Private Class Data pattern when
* you want to prevent write access to class data members