Студопедия — Отношения между клиентами и поставщиками
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Отношения между клиентами и поставщиками






Что могут делать клиенты и что могут делать поставщики? Класс поставщик создает сервисы, предоставляемые своим клиентам. Клиенты создают объекты поставщика. Вызывая доступные им сервисы, клиенты получают возможность выполнить работу, которую сами они выполнить не могут или не хотят выполнять, поскольку класс поставщик эту работу может сделать более квалифицированно. Так, например, арифметические классы - int и другие - не могут вычислять математические функции. При необходимости вычислить sin(x) они обращаются к соответствующему сервису, предоставляемому классом Math.

Клиенты не могут ни повлиять на поведение методов поставщика, ни изменить состав предоставляемых им сервисов, они не могут вызывать закрытые поставщиком поля и методы класса.

Класс поставщик интересен клиентам своей открытой частью, составляющей интерфейс класса. Но большая часть класса может быть закрыта для клиентов, им незачем вникать в детали представления и в детали реализации. Сокрытие информации вовсе не означает, что разработчики класса не должны быть знакомы с тем, как все реализовано, хотя иногда и такая цель преследуется. В общем случае сокрытие означает, что классы клиенты строят свою реализацию, основываясь только на знании интерфейсной части класса поставщика. Поставщик закрывает поля и часть методов класса от клиентов, задавая для них атрибут доступа private или protected. Он может некоторые классы считать привилегированными, предоставляя им методы и поля, недоступные другим классам. В этом случае поля и методы, предназначенные для таких vip -персон, снабжаются атрибутом доступа internal, а классы с привилегиями должны принадлежать одной сборке.

В заключение построим тест, проверяющий работу с объектами классов Provider и Client:

class Program

{

static void Main(string[] args)

{

Client client =

new Client("object of class Provider", 33,

"object of class Client", 44);

string res = client.MethodClient1();

Console.WriteLine(res);

res = client.MethodClient2();

Console.WriteLine(res);

res = client.MethodClient3();

Console.WriteLine(res);

}

}

Согласно определению, класс Program является клиентом класса Client. В процедуре Main локально создается объект класса Client, в процессе работы конструктора которого создается и объект класса Provider. Вызываемые методы клиентского класса в процессе своей работы вызывают методы класса Provider.







Дата добавления: 2015-09-06; просмотров: 448. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия