Private class data
Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Выделение частного класса данных используется для сокрытия атрибутов и их манипуляциям.
Частный случай рефакторинга «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) { //... } } }
[править] См. также
[править] Литература
| структурные шаблоны проектирования |
|
адаптер | мост | компоновщик | декоратор | фасад | заместитель | приспособленец | Выделение частного класса данных |
<imagemap>
Image:Wiki_letter_w.svg
| Для улучшения этой статьи желательно?:
|