Как записать основной () в ООП путь?

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

Если вы хотите легко загрузить какой-либо контент с веб-сайта, простой способ - открыть инструменты разработки (CTRL + SHFT + I в окнах для Firefox и Chrome), перейти к Исходный файл и нажмите save as. На вкладке network показаны сделанные вами запросы, которые включают в себя не только файлы, такие как json, но и детали запроса.

Вот снимок экрана с поиском одного из файлов json в браузере на базе Chrome (Brave)

json response

6
задан Jay Bazuzi 28 November 2008 в 14:10
поделиться

8 ответов

По-моему, "основное" значительного проекта должно содержать приблизительно 3 вызова функции:

  • Вызывая функцию Инициализации, которая настраивает все необходимые настройки, предпочтения, и т.д. для приложения.
  • Запуск основного "контроллера" приложения
  • Ожидание основного контроллера для завершения и затем вызывание функции Завершения, которая очищает что-либо, что должно быть очищено в "основном" (хотя контроллер уже будет заботиться о большей части очистки).

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

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

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

7
ответ дан 8 December 2019 в 02:53
поделиться

Безотносительно плаваний Ваша лодка, как они говорят.:) Необходимо действительно сфокусироваться на создании кода, простого, легкого читать и эффективный, с помощью любых инструментов, необходимо достигнуть этого. Если это гарантирует, что вставление большого количества основного кода - делает так. Если бы Вы чувствуете, что объекты сделали бы вещи более организованными - идут тем путем.

Создание единственного экземпляра class Main и затем вызов метода экземпляра Main() то, которое делает всю работу, так же хорошо как запись всего в основном методе непосредственно.

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

Код в основной функции:

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

Поэтому код в основной функции:

  • Должно быть столь простым, что Вы довольны функциональным / тестированием системы только.
  • Должно быть ответственно за то, что взялось за дело для зависимостей, используемых всем Вашим другим кодом (который должен сказать, основные действия как uber-фабрика, которая создает Ваше приложение).
  • Должен только сделать вещи, которые конкретны к способу, которым настраивается Ваше приложение (т.е. ничто, что тестовый код или демоверсия должны будут сделать точно тот же путь).

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

На самом деле часть из того, что я говорю выше, является C ++-specific. Основные методы Java, конечно, могут назвать тестовый код или различные приложения. Но они все еще не берут объекты в качестве параметров, только параметры командной строки, таким образом, степень, до которой они могут быть изолированы под тестом, или ведут себя хорошо с точки зрения повторного использования, является довольно низким. Я предполагаю, что Вы могли передать имена классов для них, чтобы инстанцировать и использовать для создания остальной части приложения.

[Редактирование: кто-то удалил "C++, Java" теги от этого вопроса. Так: то, что я говорю выше, является C++ и конкретным Java. Другие языки могут рассматривать основной способом, который является менее особенным, в этом случае не может быть никакой конкретной причины для Вас рассматривать его особенно также.]

17
ответ дан 8 December 2019 в 02:53
поделиться

Я сказал бы, что это не то, что находится в Вашей основной функции, а что не. В зависимости от сложности Вашего проекта Вы захотите разломать его на функциональные разделы, как "Функции базы данных", "Дисплей функционирует", "Ранний ужин с чаем со Священником", и т.д.

Это - все об удобочитаемости кода. Может кто-то еще, кто никогда не видел Вашу программу, прежде чем столкнуто это и добирается сначала, хорошая обобщенная идея того, что это делает?

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

Каждый функциональный раздел, Вы используете выполнение только логического блока процессов? Это не должно только делать одной вещи, но это не должно делать всего плюс раковина.

Сломайте свой код способом, что это удобно в сопровождении по внешнему источнику.

Небеса причины знают, когда это прибывает право вниз на него, если - кто-то-еще может исправить ошибку, это тем лучше =)

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

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

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

В Вашем примере я не создал бы Основное () метод, но поместил бы его в исходный.

0
ответ дан 8 December 2019 в 02:53
поделиться

Посмотрите, содержание и форма "основного" метода являются очень зависимым среды и языком. В Java каждый класс может иметь a public static void main() метод, таким образом, совершенно выполнимо иметь больше чем один.

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

def main(args=None):
    #argument processing
    #construct instances of your top level objects
    #do stuff

if __name__ == "__main__":
   try:
      main(Sys.Argv)
   except: # everything
      # clean up as much as you can
   else:
      # normal cleanup, no exceptions

Точка, здесь являющаяся этим, Вы получаете все от среды, что Вы можете, затем назовите основное () функцией; Вы ловите все неперехваченные исключения, и Вы делаете что-то интеллектуальное с ними, прежде чем программа умрет.

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

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

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

0
ответ дан 8 December 2019 в 02:53
поделиться

Дизайн Вашей программы решит форму Вашего "основного".

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

0
ответ дан 8 December 2019 в 02:53
поделиться