![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
У меня есть класс class1- он отображает интерфейс, у него есть поле class2 - там хранятся информационные поля - текст, цвет и.п.
class1 - является и API классом. class3 - хочет использовать class1. class3 хочет изменить цвет поля ЦВЕТ у classa2. class1 возращает своё поле class2, class3 записывает нужный параметр и все хорошо, но class1 тоже должен применить и отобразить этот параметр.
вообще на каком этапе переписать что бы class1 отображал уже измененые параметры |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
если у тебя класс2 это поле класс1, то класс3 не должен получать к нему доступ. т.е. класс1 должен реализовать доступ к полю класс2.цвет через какой то свой метод, соответственно в таком случае оба класса будут извещены об изменении цвета в класс2, и будут отображать все что нужно
|
|||
|
||||
| Heinzz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 12.12.2008 Где: .net Репутация: 3 Всего: 9 |
Мне так нравится:
Это сообщение отредактировал(а) Heinzz - 28.11.2009, 22:06 |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
Heinzz, тоже вариант
Добавлено @ 22:12 но в любом случае первый класс не должен возвращать второй, он должен просто предоставить методы доступа к полям второго класса, но не показывать что это поля второго класса. Это сообщение отредактировал(а) Экскалупатор - 29.11.2009, 12:38 |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
Heinzz, не могу понять чем он отличается от моего примера??
вообщем я подумал буду делать в классе1 так: Color SetColor(Color a) { obj.Color = a; Show()// вот эта функция мне нужна очень. } и так для каждого свойства сойдет?=) |
|||
|
||||
| Экскалупатор |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
вариант Heinzz, от твоего мало чем отличается.
плохо в твоем примере то что ты возвращал третьему классу ссылку на класс2.
так делать не правильно, да и как ты сам написал, класс1 ничего не знает об изменениях в класс2. такой вариант как
в принципе наверное покатит, класс1 будет всегда уведомлен об изменениях в класс2, потому что сам их делает. и при этом реализация скрывается от класс3, т.е. он не знает о существовании класс2. Это сообщение отредактировал(а) Экскалупатор - 29.11.2009, 12:48 |
||||
|
|||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
будем надеятся заказчику это подойдет. спасибо.
если что продожу тут. |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
DenWPF, хм, а почему ты думаешь что заказчику это может не подойти? а если он завтра захочет убрать класс2 вовсе и все сделать через что нибудь другое? это тебе придется изменить класс1, и изменить все места в класс3(и где еще у тебя встречается) где было взаимодействие с класс2, а если сделать как я тебе предлагаю, то придется изменить только класс1. но это конечно детали...
|
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
класс2 его интересовать не должен, то что в нутри это моё.
а вот класс3 это будет его класс. класс1 - это АПИ. |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
ну так совершенно верно, я тебе про это же и говорю, ты должен скрыть существование класс2, за методами класс1. заказчик про него может даже не узнать... |
|||
|
||||
| Heinzz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 12.12.2008 Где: .net Репутация: 3 Всего: 9 |
работает |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |