- Private class data
-
Private class data
Выделение частного класса данных используется для сокрытия атрибутов и их манипуляциям.
Частный случай рефакторинга «Extract Class» (Выделение класса)
Пример реализации на C#namespace Private_class_data { class Program { static void Main(string[] args) { var radius = new double(); var color = new Color(); var origin = new Point(); var circle_before = new before.Circle(radius, color, origin); var circle_after = new after.Circle(radius, color, origin); } } class Color { } class Graphics { } class Point { } } namespace Private_class_data.before { class Circle { private double radius; private Color color; private Point origin; public Circle(double radius, Color color, Point origin) { this.radius = radius; this.color = color; this.origin = origin; } public double Circumference { get { return 2 * Math.PI * this.radius; } } public double Diameter { get { return 2 * this.radius; } } public void Draw(Graphics graphics) { //... } } } namespace Private_class_data.after { class CircleData { private double radius; private Color color; private Point origin; public CircleData(double radius, Color color, Point origin) { this.radius = radius; this.color = color; this.origin = origin; } public double Radius { get { return this.radius; } } public Color Color { get { return this.color; } } public Point Origin { get { return this.origin; } } } class Circle { private CircleData circleData; public Circle(double radius, Color color, Point origin) { circleData = new CircleData(radius, color, origin); } public double Circumference { get { return 2 * Math.PI * this.circleData.Radius; } } public double Diameter { get { return 2 * this.circleData.Radius; } } public void Draw(Graphics graphics) { //... } } }
См. также
Литература
Шаблоны проектирования Основные Порождающие Структурные адаптер • мост • компоновщик • декоратор • фасад • заместитель • приспособленец • выделение частного класса данных
Поведения цепочка обязанностей • команда • интерпретатор • итератор • посредник • хранитель • наблюдатель • состояние • стратегия • шаблонный метод • посетитель
программирования структурные шаблоны проектирования адаптер | мост | компоновщик | декоратор | фасад | заместитель | приспособленец | Выделение частного класса данных
Wikimedia Foundation. 2010.