Вершина Вниз против Восходящего подхода дизайна [дубликат]

Я никогда не использовал Resources.Load (), поэтому вы можете попытаться добиться чего-то другого, но я делаю, чтобы «порождать» объекты, превращая их в префаб (просто перетащите ваш объект в ваши активы). Затем объявите открытое поле GameObject в вашем скрипте, перетащите / вставьте в него префаб в инспекторе, а затем создайте его экземпляр, как вы сделали.

Надеюсь, это помогло!

6
задан Community 23 May 2017 в 10:30
поделиться

5 ответов

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

Мои наставники «научили» меня тому, что сначала очень кратко сверху вниз, чтобы понять вовлеченные сущности, затем переходить снизу вверх, чтобы выяснить основные элементы, которые я хочу создать, затем делать резервную копию и посмотреть, как я могу спуститься на один уровень вниз, зная, что я знаю о результатах моего движения снизу вверх, и так далее, пока «они не встретятся посередине».

Надеюсь, что это поможет.

16
ответ дан 8 December 2019 в 04:10
поделиться

Это зависит от проблемы.

Если вы знаете, в чем проблема [позволить клиентам просматривать банковские выписки в Интернете] и как ее решить, тогда используйте восходящий подход. Проанализируйте каждый шаг, сгруппируйте их по областям и разработайте решение. На основе плана проекта.

Если у вас есть смутное представление о проблеме [разрешить полевым агентам общаться через распределенную автономную / онлайн-вики], то подход сверху вниз будет работать лучше. Посмотрите на общую проблему и какие шаги можно использовать для ее решения. Методом проб и ошибок. Agile.

4
ответ дан 8 December 2019 в 04:10
поделиться

Не существует идеального способа разработки программного обеспечения. Ни один подход не гарантирует идеального дизайна.

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

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

Code Complete глава 5 действительно может помочь в детализации того, что я здесь говорю. Предлагаю вам взглянуть.

4
ответ дан 8 December 2019 в 04:10
поделиться

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

Я бы сказал, что большая часть ответа зависит от , для кого вы разрабатываете / проектируете. Ваша цель - предоставить пользователям крутое и (возможно) полезное приложение? Начнем с пользовательского интерфейса. Или вы пытаетесь создать интерфейс для бизнес-системы (которая может уже существовать) или выполнить задачи, которые уже выполняются другими (менее эффективными) способами? Начнем с задач.

2
ответ дан 8 December 2019 в 04:10
поделиться

Многие из нас кодируют "снизу вверх". Не по выбору, а с помощью intellisense. Петцольд написал об этом статью здесь .

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

Конечно, требования конкретны, но обычно используются требования для управления абстракциями и определения цели и намерения программного обеспечения.

0
ответ дан 8 December 2019 в 04:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: