_Q12_ Ответов: 2

Проблеме отличное решение


Этот вопрос у меня есть уже некоторое время, почти 1 год или больше. Я пробовал разные перестановки, но всегда застревал в какой-то момент, когда вся идея больше не будет работать. И я все время отказываюсь от этого.

У меня есть класс со свойствами, полями и методами в нем. Я думаю добавить к этому события, но я еще не настолько хорош в них. Когда я вызываю этот класс в form1, я в основном изменяю некоторые значения внутри класса, и "объект", который его представляет, добавит значение или изменит цвет или изменит положение и т. д.

Если у меня есть игра, скажем, когда персонаж остается, и я хочу, чтобы он выглядел так, как будто он дышит, это свойство должно быть внутри класса? или снаружи, позволяя мне выбирать, когда дышать, сколько, как долго, как быстро и т. д. Это всего лишь пример. У меня было много подобных (и более сложных) встреч с этой темой, и я просто замираю посреди нее, не зная, как с ней справиться.
Оба способа хороши! Снаружи или изнутри класса. Но... иногда мне нужна маневренность, иногда она просто мешает, и я хочу, чтобы она была "там", за какой-нибудь закрытой дверью(я имею в виду внутри класса).

Что говорят об этом ваши правила? Должен ли я изменить его значения изнутри класса? Или снаружи?
Спасибо.

Что я уже пробовал:

Сделайте это "что вы пробовали?" текстовое поле, необязательно ! Не все имеет прямой метод проб и ошибок, но опыт и множество неудач, которые не могут быть выражены так удобно в словах, как ВЫ(сайт) ожидаете. Я ничего не критикую, я просто положил вариант на стол. Подумайте об этом или нет, никого это не волнует, но у вас есть кое-что на столе на данный момент.

OriginalGriff

"Сделайте это "что вы пробовали?" текстовое поле, необязательно !"
Он существует по уважительной причине - чтобы попытаться сфокусировать ум спрашивающего на предоставлении нам информации, необходимой для ответа на его вопрос.

Большинство вопросов, которые мы получаем, относятся к типу "что с этим не так?", где нам нужно знать, что они сделали до сих пор, поэтому мы
а) может ответить вообще;
Б) может сделать ответ релевантным их фактическому коду;
И-или
в) убедитесь, что они действительно пытались сделать свою собственную чертову домашнюю работу! :смеяться:

Такой вопрос, как ваш, встречается реже в QA - это не "конкретный вопрос ответа", а "дискуссионный вопрос", где нет правильного или неправильного.
В большинстве случаев "то, что я пробовал" помогает нам ответить, и это было хорошим подспорьем, когда оно было впервые добавлено.

_Q12_

Я согласен с вашей точкой зрения! Я действительно хочу. Я сам был учителем, и мне приходилось создавать механизмы, не очень удобные для обеих сторон, чтобы лучше понимать друг друга. Вы совершенно правы в своей точке зрения, и опять же, я полностью согласен с вами и веб-сайтом filosofy. Опять же, это пукающая мысль, это идея, просто нужно было выплюнуть ее, просто потому, что я чувствовал, что это интересно и, возможно, даст идеи. Не смотрите на него больше и забудьте о нем, если он не находится на одном ветру с вашей лодкой.

2 Ответов

Рейтинг:
2

OriginalGriff

На самом деле это не вопрос QA - нет конкретного "правильного ответа" или даже класса "правильных ответов", и я думаю, что это, вероятно, было бы лучше на дискуссионном форуме.

Могу я предложить вам разместить его здесь:
C# Для Обсуждения[^]
Или здесь:
Дискуссионные форумы по дизайну и архитектуре[^] (хотя этот форум получает гораздо меньше трафика, так что, вероятно, он будет менее полезен вам в краткосрочной перспективе).


_Q12_

Я размещаю его здесь, для "быстрого ответа" - все, что вы чувствуете прямо сейчас.
Да, это, наверное, долгая дискуссия, но я хочу крем, заключение в основном. Просто скажи мне А или Б, и я уйду.

OriginalGriff

Проблема в том, что это не "А" или "Б" - это зависит от обстоятельств и от того, как класс вписывается во всю "прикладную среду". Вы говорите, что были учителем - так что вы знаете, что то, что работает для одного ученика, будет полным провалом для другого. Дизайн программного обеспечения один и тот же: некоторые есть, некоторые нет!
Следовательно - это дискуссия, а не "решение" и лучше вписывается в формат дискуссии. Просто говорю!

_Q12_

Я не думаю, что у меня есть возможность удалить свой пост !
Ха. Тогда вы его удаляете. Я не вижу, есть ли кнопка удаления. Я уже передвинул этот вопрос, так что сделайте это за меня. Спасибо еще раз.

OriginalGriff

Есть кнопка удаления - Если вы наведете курсор на вопрос, он должен появиться в правом нижнем углу, в форме старомодного мусорного ведра.
Он там для меня.

_Q12_

я сделал для вас скриншот :
https://www.deviantart.com/q12a/art/Untitled-copy-775022227

OriginalGriff

А - а, у тебя, наверное, еще недостаточно репутации, вот и все.

_Q12_

Ха!

_Q12_

во всяком случае, попробуйте зайти в https://www.codeproject.com/Forums/1649/Csharp.aspx?select=5575202&tid=5575202 и обсудим эту проблему. Я практичный парень, и мне нужен случай, когда использовать, а когда нет. Прокомментируйте эти параметры, и это будет короткий и прямой результат (надеюсь). (если вы имеете удовольствие)

BillWoodruff

- я хочу Крем, в общем, вывод. Просто скажи мне А или Б, и я уйду." Мы здесь, чтобы научить вас думать самостоятельно, чтобы помочь вам развиваться как программист.

_Q12_

спасибо за ваш ответ - я перешел по вашей ссылке на форум sugested.
Я так привык к "быстрым ответам", что "забыл", что здесь есть и другие "комнаты". Это была моя ошибка. Но теперь это происходит автоматически. Перейдите на codeproject - нажмите кнопку "быстрый ответ", Ждите и надейтесь. Вот и все. Я удалю этот вопрос на 1 минуту.

OriginalGriff

Вы можете, если хотите, но в этом нет реальной необходимости. Может напомнить другим, что форумы существуют! :смеяться:

Рейтинг:
2

RickZeeland

Эта статья CodeProject выглядит многообещающе: Обещания для разработки игр[^]


_Q12_

Спасибо, мистер Рик !