Предположим, у вас есть большой проект, написанный на c ++, который имеет тысячу файлов .cpp и тысячу файлов .h. И давайте скажем, что проект также зависит от десяти статических библиотек. Допустим, мы находимся на Windows, и мы строим наш проект в Visual Studio 20xx. Когда вы нажимаете Ctrl + F7 Visual Studio, чтобы начать компиляцию всего решения (предположим, у нас есть только один проект в решении)
В чем смысл компиляции?
Второй шаг компиляции выполняется Linker.Linker должен объединить весь объектный файл и, наконец, создать вывод (который может быть исполняемым файлом или библиотекой)
Steps In Linking проект
error LNK2001: unresolved external symbol "void __cdecl foo(void)" (?foo@@YAXXZ)
Наблюдение ]
Как устранить эту ошибку
Ошибка времени компиляции:
Ошибка времени компоновщика
#pragma once
, чтобы компилятор не включал один заголовок, если он был уже включены в текущий .cpp, который скомпилирован Дело в том, что:
Если вы хотите стать мастером веб-разработки, вы должны владеть HTML + CSS + Javascript
А с WebForms вы должны изучить способ, которым это делает WebForms. , но с MVC у вас есть мощь .Net и свобода генерировать нужный HTML + CSS + Javascript.
Недавно я провел рефакторинг очень сложного веб-сайта, используя ASP.NET + вручную обработанный javascript для MVC + jQuery. Сложность кода снизилась на 50% -75% и стала намного более тестируемой. Я заменил все сложные веб-элементы управления, которые мне приходилось писать (с крутой кривой обучения, которую мне пришлось преодолеть), на очень простые методы HtmlHelper.
Не забывайте, когда вы используете пользовательские веб-элементы управления, вам предоставляется очень статичный пользовательский интерфейс с помощью контроль разработчика. С необработанным HTML вы можете воспользоваться стилями и пользовательским интерфейсом, разработанными всей веб-индустрией.
Повышенная простота, сокращение времени разработки, тестируемость, гибкость пользовательского интерфейса ... Я не хочу возвращаться.
Вам не нужно заменить элементы управления Webforms чем-то другим из MVC. Просто смешайте их - http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx
Мне было интересно - что эквивалентно «контролю» из веб-форм в asp.net mvc? Это точно не частичное мнение. Что еще это может быть? Контроллер + частичное представление через частичные запросы?
Может быть, я тупой, слепой или и то, и другое, но я не видел никакого «контроля» для asp.net mvc. Просто много фрагментов кода для выполнения той или иной задачи.
Я считаю, что asp.net mvc довольно неприятен для быстрого развития. Единственный выход из этой проблемы - много открытого исходного кода (например, MvcContrib), руководств, примеров приложений и, самое главное, - немного более умные разработчики.
Проблема в том, что ASP.NET MVC намного моложе, чем ASP.NET. В течение многих лет сторонние компании разрабатывали ТОННЫ повторно используемых компонентов, и я считаю, что появление сопоставимого набора элементов управления для ASP.NET MVC - лишь вопрос времени.
Если вам действительно нужен очень богатый графический интерфейс со сторонними элементами управления, и вы не можете их переписать за приемлемое время - придерживайтесь asp.net. Хотя, на мой взгляд, MVC дает вам массу возможностей, было бы неразумно тратить на переписывание элементов управления гораздо больше времени, чем вы можете сэкономить. Если вы можете жить без элементов управления и любите концепции MVC - используйте MVC, и вы
Вот новая напыщенная речь на эту тему http://www.charliedigital.com/PermaLink,guid,6dcb0333-9d70-40c7-975b-0ff4011c4661.aspx
Вы также должны помнить, что ASP.NET MVC - это всего лишь первый выпуск. Я не Не думаю, что существует какая-то внутренняя причина, по которой у вас не может быть эквивалента серверных элементов управления для выполнения определенных задач - помните, есть много серверных элементов управления, которые не генерируют никакой разметки (например, Repeater, PlaceHolder, ListView). Я думаю, что этот тип элементов управления может быть полезен в будущих настройках MVC.
Я считаю, что ASP.net появился, когда многие разработчики еще привыкли создавать настольные приложения и только начинали веб-разработку. В тот момент абстрагирование деталей сети с помощью элементов управления и постов было отличным способом начать работу. В тот момент мы не пытались усовершенствовать Интернет, мы просто хотели в него войти!
Теперь, когда Интернет повзрослел, и мы все постепенно узнали о HTML, CSS, javascript и подобных вещах, которые мы хотим оптимизировать наши веб-сайты для наших собственных нужд, и мы не хотим полагаться на элементы управления ASP.net Forms для управления мельчайшими деталями наших веб-сайтов.
В общем, я думаю, что это естественная эволюция многих разработчиков от настольных компьютеров к Интернет
Я считаю, что пользовательский интерфейс и взаимодействие с пользователем жизненно важны для успеха веб-приложения. Сделать страницу интуитивно понятной и простой в использовании, свести к минимуму объем навигации, который пользователь должен делать для выполнения работы, а также обеспечить эффективную обратную связь и интерактивность - все это может иметь решающее значение между сайтом, который пользователи хотят использовать, и сайтом, который они избегают.
Если вы пытаетесь привлечь пользователей на общедоступный веб-сайт, приятный внешний вид и отличное удобство использования являются ключом к увеличению количества повторных посещений.
Если вы пишете приложение для интрасети, которое будет использоваться сотнями или тысячами сотрудников в течение всего дня - как я обычно это делаю - создание эффективного и простого в использовании пользовательского интерфейса действительно очень много значит для ваших пользователей.
Поэтому я бы не стал преуменьшать важность пользовательского интерфейса. Это не помеха. Это ключевая часть пользовательского опыта. Я предлагаю веб-разработчику использовать любые инструменты и стратегии, которые сделают свою работу. Это часто означает самостоятельное программирование элементов управления пользовательского интерфейса. Или работать с товарищем по команде, которому нравится выполнять эту часть работы.
Вот ключевой момент, который, я думаю, вы не хватает. Когда ASP.NET больше не является способом ведения дел в MS ... вы в конечном итоге будете вынуждены уйти и заняться чем-то другим. Я программировал на Perl, ASP classic, затем на ColdFusion, затем на PHP, затем на веб-формах ASP.NET, затем на ASP.NET MVC ... единственное, что у всех них общего, - это базовая база данных, шаблоны проектирования, лучшие практики для данный набор технологий И ... HTML, JavaScript, CSS и Photoshop.
Никто не просит вас изучить MVC. Никто не говорит вам не использовать WebForms. Однако жалобы на то, что вам нужно писать необработанный пользовательский интерфейс, не продвинут вас далеко в этой отрасли. Вы должны узнавать что-то новое каждый день ... и похоже, что некоторое время, потраченное на HTML и CSS, было бы отличным местом для начала!
Самая большая проблема, с которой вы сталкиваетесь, полагаясь на сторонние элементы управления, - это когда клиент просит вас сделать что-то, что стороннее управление не делает не прикрытие. Если вы не можете воспроизвести их сложность и добавить запрос на добавленную функцию самостоятельно, вы упускаете из виду возможный сбой в своей профессиональной деятельности! Вам нужно будет знать, как все это делать ... в конце концов!
Обычно я предлагаю вам освоить новые технологии. Вам не обязательно их использовать ... но вы должны хотя бы знать как. Таким образом, вы будете знать, какой инструмент лучше всего подходит для любого проекта.
Самая большая проблема, с которой вы сталкиваетесь, полагаясь на сторонние средства управления, - это когда клиент просит вас сделать что-то, что сторонние средства контроля не покрывают. Если вы не можете воспроизвести их сложность и добавить запрос на добавленную функцию самостоятельно, вы упускаете из виду возможный сбой в своей профессиональной деятельности! Вам нужно будет знать, как все это делать ... в конце концов!
Обычно я предлагаю вам освоить новые технологии. Вам не обязательно их использовать ... но вы должны хотя бы знать как. Таким образом, вы будете знать, какой инструмент лучше всего подходит для любого проекта.
Самая большая проблема, с которой вы сталкиваетесь, полагаясь на сторонние средства управления, - это когда клиент просит вас сделать что-то, что сторонние средства контроля не покрывают. Если вы не можете воспроизвести их сложность и добавить запрос на добавленную функцию самостоятельно, вы упускаете из виду возможный сбой в своей профессиональной деятельности! Вам нужно будет знать, как все это делать ... в конце концов!
Обычно я предлагаю вам освоить новые технологии. Вам не обязательно их использовать ... но вы должны хотя бы знать как. Таким образом, вы будете знать, какой инструмент лучше всего подходит для любого проекта.
Обычно я предлагаю вам освоить новые технологии. Вам не обязательно их использовать ... но вы должны хотя бы знать как. Таким образом, вы будете знать, какой инструмент лучше всего подходит для любого проекта.
Обычно я предлагаю вам освоить новые технологии. Вам не обязательно их использовать ... но вы должны хотя бы знать как. Таким образом, вы будете знать, какой инструмент лучше всего подходит для любого проекта.