Что означает, когда вы говорите, что С# является компонентным языком?

Я изучил Java раньше. Мне просто надоело Java и через некоторое время вернулось на С++. Я думал, что С# похож на Java. Мое предположение о сходстве между С# и Java было неверным после некоторого чтения о С#. Я нашел много мощных концепций в С#, которые мне нравится видеть на Java. Во всяком случае, многое из того, что я прочитал, имело смысл для меня, кроме одного. Я продолжаю слышать, что С# - компонентный язык! Википедия была действительно бесполезной в отношении этой концепции.

Что означает простыми словами, когда вы говорите, С# является компонентно-ориентированным языком?! Простой пример будет оценен.

Ответ 1

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

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

Объектно-ориентированное программирование (ООП) - это парадигмы программирования, которая использует "объекты" - структуры данных, состоящие полей данных и методов - и их взаимодействия с проектами приложений и компьютерные программы. программирование методы могут включать такие функции, как как скрытие информации, данные абстракция, инкапсуляция, модульности, полиморфизма и наследование. Он обычно не использовался в основном программном приложении до начала 1990-х годов. Многие современные языки программирования теперь поддержка ООП.

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

Разработка программного обеспечения на основе компонентов (CBSE) (также известный как компонентный (CBD)) является подразделением программного обеспечения, приоритет который является разделом проблем в уважения широкого функциональность, доступная на протяжении всего данной программной системы. Эта практика приводит к столь же широкому степень преимуществ как в краткосрочный и долгосрочный самого программного обеспечения и организации который спонсирует его.

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

Ответ 2

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

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

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

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

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

Ответ 3

Я не думаю, что С# как "компонентный язык". Это объектно-ориентированный язык, который позволяет легко упаковываться в компоненты.

Я думаю, что более точно сказать, что многие из инфраструктур разработки, построенных на .NET, являются компонентами, ориентированными на компоненты. Это означает, что компонент разработки С# ориентирован, , если, который вы разрабатываете на основе компонентов. Например, ASP.NET и Windows Forms в значительной степени основаны на концептуальной модели компонента - все делается с помощью небольших компонентов, которые работают вместе во время разработки.

Тем не менее, вы можете легко развиваться в С#, используя небольшую ориентацию компонента или без него. Сам язык не предоставляет этого - кроме включения этого стиля разработки, если вы решили использовать его.

Ответ 4

МОГУТ БЫТЬ НЕПРАВИЛЬНО НО Я ДУМАЮ:

Я прочитал одно и то же утверждение в первой главе "Балагурусами" но об этом нет описания но есть линия. С# - первый компонентный язык и в другой строке это описывает С# является единственным компонентом, ориентированным на язык сегодня по моему мнению, языки C и С++ - это языки, основанные на ком. Это означает, что они полностью зависят от нашей операционной системы, и каждая программа регистрируется в реестре нашей операционной системы.

В Java у нас нет возможности использовать язык C (компонент на основе com) в нашем программировании OOP но если мы поговорим о С#, мы можем возможно, почему С# также называется компонентно-ориентированным языком

Как мы используем:

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

Здесь вы можете увидеть вкладку com

Это dll, сделанные на языке C

Вы также можете добавить свою dll на языке C на вкладке просмотра

Ответ 5

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

В динамических языках это относительно легко из-за их гибкости, но на таких языках, как С# и Java, вам необходимо использовать специальные методы, такие как зависимость впрыска.

Ответ 6

В одной строке мы можем сказать, что компонентно-ориентированное программирование означает, что С# имеет автоматическую возможность ООП, мы не можем работать в С# или Java без объектно-ориентированного подхода, поэтому такая техника является встроенным языком высокого уровня. Таким образом, этот метод называется компонентно-ориентированным.

Ответ 7

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