![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
source777 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
Пример:
........ позже псевдо-код превращается в реальный код, каждой строке псевдокода обычно соответствует 1-7 строк реального кода.
........ Псевдокод помог нам понять, что инициализировать кисти и карандаши жёлтым цветом бессмысленно и не нужно, а также что процедуры построения и заливки полигона лучше централизовать, и создав тем самым точку управления, вынести в базовый класс. Более того, мы видим, что сам метод Draw стал настолько ясным и универсальным, что и сам подлежит выносу в базовый класс как невиртуальный. Методы же DrawPoligon и FillPoligon следует сделать виртуальными. P.S. Идея ясна? теперь пиши псевдокод для всех остальных методов... реальный код пока не пиши (ни в коем случае)!!!. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||||
|
|||||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Вот написал
Так теперь диаграма классов выглядит ![]() |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
Название метода предполагает, что он удаляет разделитель, что не согласуется с псевдокодом, надо чтобы согласовалось! либо переименовывай в AddSeparator, либо меняй псевдо-код.
В целом уже гораздо лучше, теперь следует выделить каждый класс в отдельный одноимённый файл, затем реализуй абстрактный класс и класс рамы. Кстати методы FillPoligon и DrawPoligon в абстрактном классе надо пометить как abstract, а не virtual... т.к. они на уровне абстрактного класса не могут иметь адекватной реализации. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
source777, Так сделал что дальше?
|
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
ну если уверен в реализации, то реализуй остальные классы...
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
source777,
Вот реализайция абстрактного класса мне правда кажется нужно еще добавить масив с 4мя координатами для профилеи, стекл и перегоротки. А поповоду класса Рама его нет смысла деть без реализаций класса Профиль.
|
|||
|
||||
source777 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
![]()
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||
|
|||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
source777, а можно сдесь поподробнее?
Это сообщение отредактировал(а) WaReZMEN - 14.8.2008, 00:54 |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Вот класс Профиль
Это сообщение отредактировал(а) WaReZMEN - 14.8.2008, 02:28 |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
Подробнее может быть лишь готовый код, а это ты должен сделать сам. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
||||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
Не переменные а константы, если это действительно константы! Запомни, в коде методов допустимо только два числа 0 и 1, никаких других чисел внутри методов быть не должно! Причём название константы должно означать её смысл, а не значение, поэтому Color.Black тоже не подойдёт!
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
source777, а разве не понято из левои части
this.BorderColor = Color.Black; this.FillingColor = Color.FromArgb(250, 250, 250); this.FillingSelectColor = Color.FromArgb(182, 209, 255); Я конечно вынесу от с названиями этих цветов будут деиствительно проблемы ![]() Спасибо что все еще расказываете что да как ![]() |
|||
|
||||
mihryak |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 10 Всего: 36 |
а я вот пополам делю порой, это смертельно? ![]() а с цветами я бы вместо констант
использовал всё же readonly
|
||||||
|
|||||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
нет конечно, естественно это утверждение было специально усилено для большего воспитательного эффекта. Изредка допустимы и другие числа, но лишь изредка.
Это сообщение отредактировал(а) source777 - 15.8.2008, 11:03 -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |