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)
{
//...
}
}
}
См. также
Литература
структурные шаблоны проектирования |
адаптер | мост | компоновщик | декоратор | фасад | заместитель | приспособленец | Выделение частного класса данных |
Ошибка: неверное или отсутствующее изображение |
Для улучшения этой статьи желательно?:
|
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....
→
Категории:
- Страницы, использующие устаревший тег source
- Страницы с ошибками в подсветке синтаксиса
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Страницы с неработающими файловыми ссылками
- Википедия:Очень короткие статьи
- Википедия:Статьи без ссылок на источники
- Шаблоны проектирования
- Программирование