2009-11-09 6 views
2

Я заинтересован в улучшении возможностей проектирования (проектирование классов с его свойствами, методами и т. Д.) Для данного. Как решить, какие должны быть классы, методы и свойства?Дизайнерские классы - возможности OOPS

Можете ли вы, ребята, предложить мне хороший материал для улучшения этого?

+0

похожие вопросы, заданные на SO много раз ..... –

+0

Митч, я провел несколько фундаментальных исследований по сети. Тогда я подумал о том, чтобы спросить на форуме, потому что я получаю хорошие указания. Поэтому задал этот вопрос –

+1

FYI. Некоторые ребята также предложили мне «HeadFirst: объектно-ориентированный анализ и дизайн». –

ответ

1

Это, пожалуй, вопрос, который каждый программист думает, что в один прекрасный день. Возможности проектирования постепенно дополняются вашим опытом. Я бы сказал, что это общий сценарий, если вы можете визуализировать объекты базы данных для данной проблемы, остальное - это cakewalk (иногда это неверно, если вы работаете над техническим проектом без БД)

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

Это становится намного упрощенным, если мы сосредоточимся на разработке БД, прежде чем мы сразу перейдем к разработке кода.

Многое зависит от выбранного вами шаблона. Если вы видите проблему с точки зрения MVC, вы, естественно, должны быть ориентированы на то, чтобы сначала идентифицировать «контроллер» и т. Д.

Думаю, мне не нужно повторять золотые источники дизайна и мудрость OOPS - они уже размещены здесь или там.

0

Дайте выглядеть Domain-DrivenDesign, который определяет объекты, объекты стоимости, заводы, услуги и хранилища и GRASP patterns (общая ответственность Patterns Назначения программного обеспечения), например, Эксперт, Создатель, Контролер.

1

Я бы порекомендовал вам прочитать некоторые образцы UML и дизайна. Это заставляет вас думать о «рисовании». Вы также можете получить хорошее представление о большом классе/объекте намного проще.

Одна конкретная книга, которая хороша в этой области. Applying UML and Patterns

0

Взгляните на часть 1 screencast первая часть не только, но Silverlight линия калькулятор команда, которая начинается как один бит кода, а затем разбивается на классы.

2
  1. Инкапсуляция: Обертка из данных и функций в единое целое, что известно как инкапсулирования. Или просто поставьте: объединение данных и методов в одном модуле может быть классом.

  2. Наследование: Предоставление свойств от родительского класса до дочернего класса. Или: получение свойств от суперкласса к подклассу известно как наследование.

  3. Полиморфизма: Способности принимать более, что один вид, он поддерживает метод перегрузки и метода переопределяет.

    Перегрузка метода: когда метод в классе с тем же именем метода с разными аргументами (параметры или подписи) называется метод перегрузки. Это полиморфизм времени компиляции - с использованием одного идентификатора для ссылки на несколько элементов в той же области.

Смежные вопросы