![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
WaReZMEN |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Вот сел накидал... незнаю но что то мне подсказывает что сделал что то не так хотя все работает хочу выслушать критику
![]() Главная форма
Основной и единственный Класс
P.S. Всю жизнь писал на дельфи поетому не придераитесь к именам класса и переменным ![]() |
||||
|
|||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Мелкие придирки:
- ArrayList заменить на List<TProfil> объектов - в обработчике MouseDown вызывать не Paint класса, а метод Refresh() формы - в метод Paint передавать ссылку на Graphics (брать из e), вместо того чтобы создавать графикс с пом. CreateGraphics -------------------- ![]() |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
1) MngConstruction ConMng; - можно сделать readonly
2) не особо тут много ооп... есть паттерны вроде observer (publish/subscriber), и другие... хотя теже яйца только боком... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
mr.DUDA,
Просто еще не весь код так как в ArrayList будут не только TProfil но и прочие классы чуток позже дапишу покажу... Про MouseDown и Graphics спасибо учту. И еще стоит ли в класс MngConstruction форму передовать? jonie, спасибо за совет! |
|||
|
||||
WaReZMEN |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Вот последняя версия
Главная форма
Класс
Сдесь добавил еще класс TInfill ну и сделал класс TConstructionElement в нем основные своиства каторые есть почти во всех остальных... еще подумываю пренести сюда метод Recalc с пораметром. Что скажете??? Мне чесно нужно мнения грамотных людей. |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
слету : public const int alRigth = 13; -- в enum, жИвотное)!
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
jonie, чаго???
|
|||
|
||||
source777 |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
+много
WaReZMEN, что это за безобразие
Класс должен быть одним единственным АТД, а не кучкой констант или переменных...
Дублирование кода сплошь и рядом, например, фрагменты:
и им подобные многократно встречаются с незначительными вариациями... P.S. Это не ООП вообще, это лишь кодирование с использованием классов, как языковой конструкции. Ты только посмотри сколько у тебя в коде блоков switch!!! -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||||||
|
|||||||||
WaReZMEN |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
source777, c enum разобрался.
public class Const ... я поискал по нету был именно такои савет... Я понимаю что глупость но на тот мамент я других вариантов не знал....
Cдесь убрть сложновато пока даже не вижу как... а вот
Ну от этого никуда не денешся я б с удовольствием сделал переращет какнибудь по другому но подругому не вижу как! P.S. А куда денешся от switch????. В месте с критикои хотелось бы и реальной помощи ![]() Это сообщение отредактировал(а) WaReZMEN - 6.8.2008, 02:23 |
||||
|
|||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Ну так сделаешь общий интерфейс типа IMyObject, реализуешь во всех классах и будешь добавлять объекты разных типов в список. Иначе общий список вообще незачем делать, целесообразнее несколько списков завести, соответственно будет несколько циклов без проверки типов объекта. -------------------- ![]() |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
mr.DUDA, Ок учту.
|
|||
|
||||
source777 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
Ничего сложного тут нет, даже можно сказать, что всё элементарно: 1) читаем, что тебе насоветовал mr.DUDA 2) Заменяем
на
3) дивимся как работает шайтан-машина под названием "полиморфизм". Блин, ну ты про ООП почитай хоть маленько, именно про ООП, а не про синтаксис классов... Про паттерн State для начала, например. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||
|
|||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
source777,
Возможно все это и поможет но по части расчета координат вообще не вижу иного способа.... как там все сложнее чем есть сеичас... позже выложу последний код щас пока подправлю что вы говорите. Кстате спасибо огромное за советы!!! |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 3 Всего: 56 |
Значит сделай, чтобы стало проще. Главное понять, что ты сам всё усложняешь...
Это сообщение отредактировал(а) source777 - 6.8.2008, 13:14 -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
source777, а де лучше о паттерн State почитать???
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |