20-10-2023
Выделение частного класса данных | |
Описан в Design Patterns |
Нет |
---|
Выделение частного класса данных используется для сокрытия атрибутов и их манипуляциям. Частный случай рефакторинга[неизвестный термин] «Extract Class» (Выделение класса)
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) { //... } } }
Шаблоны проектирования | |
---|---|
Основные | |
Порождающие | |
Структурные |
Адаптер • Выделение частного класса данных • Декоратор • Заместитель • Компоновщик • Мост • Приспособленец • Фасад |
Поведенческие |
Интерпретатор • Итератор • Команда • Наблюдатель • Посетитель • Посредник • Состояние • Стратегия • Хранитель • Цепочка обязанностей • Шаблонный метод |
Параллельного программирования |
структурные шаблоны проектирования |
адаптер | мост | компоновщик | декоратор | фасад | заместитель | приспособленец | Выделение частного класса данных |
Выделение частного класса данных.