Дескриптор "Двигун" багато кидається: графічний двигун, RegEx двигун, AI двигун тощо, але що насправді робить програмне забезпечення двигуном? Дизайн, вхід / вихід, призначення, розмір?
Дескриптор "Двигун" багато кидається: графічний двигун, RegEx двигун, AI двигун тощо, але що насправді робить програмне забезпечення двигуном? Дизайн, вхід / вихід, призначення, розмір?
Відповіді:
Двигун був би чимось, що знаходиться «під капотом», так би мовити. Кінцевому користувачеві це не видно або, принаймні, дуже рідко. Наприклад, графічний двигун виконує всі розрахунки візуалізації, але передає ці зміни у фактичне середовище для моделювання. Введення: математика. Вихід: гарні кольори. Двигун також може мати дуже різні робочі змінні, ніж інтерфейс більш високого рівня. Наприклад, у попередньому прикладі він використовує необроблені числові дані для маніпулювання графікою, не переживаючи, чи є щось тінь чи текстура, і все це абстрагується в рівняннях та матричних операціях, які повинні виконувати цей двигун. Подумайте про Двигун як про «ядро» даної системи, а решта буде більше схожа на «Оболонку».
Для використання в реальному світі, за аналогією CS101, двигун подібно до автомобільного двигуна. Він займає два входи, повітря і газ. Потім він передає їх у камеру, де електроенергія використовується для отримання найменшого в світі дугового зварювання. Потім речі вибухають. Це створює два виходи, вихлоп і хвиля тиску, що приводить в рух поршень. Решта передається в рух колесом різними приводними валами тощо. Тож Двигун - це двигун, а сама машина - оболонка. Ви можете використовувати автомобільний двигун з іншою метою, скажімо, керуючи генератором для електрики або млином для подрібнення зерна. Ви можете використовувати різні вхідні матеріали, якщо Двигун має покриття і таке для обробки речей, як етанол або біодизель.
Підсумовуючи це, Двигун - це програмне забезпечення, яке зазвичай не зустрічається в ізоляції. Він діє як рушійна сила для цього програмного забезпечення, але, як правило, дуже мало взаємодіє із зовнішнім світом. Кілька двигунів можуть працювати разом для отримання безкоштовних виходів або можуть бути прокладені трубопроводами разом. Двигун не робить речей, пов’язаних із досвідом користувача в естетичному сенсі, але все-таки керує цим досвідом, мотивуючи потік даних та бути достатньо чуйним, щоб забезпечити хороші показники роботи програми.
іменник / ˈenjən /
двигуни, множина
Машина з рухомими частинами, яка перетворює енергію в рух
Річ, яка є агентом чи інструментом певного процесу
№1 - це смисловий еквівалент, який engineу програмному розумінні спричиняє щось. 3D Graphics Engine, приймає входи та перетворює це на рух по екрану. Регекс-двигун приймає входи і перетворює їх на інший вихід.
№2 - це як використання речення двигуном змін . Ця семантика може бути застосована і до програмного забезпечення.
Програмне забезпечення - enginesце більше, ніж рамки та бібліотеки, які пасивно роблять речі. Програмні двигуни діють самостійно на основі входів, вони не є пасивними і зазвичай мають власну run loopсправу робити за власним бажанням.
Найближча відповідь поки що, на мій погляд, була одна, яка сказала, що це маркетингова річ.
Спробуємо подумати, звідки вживається слово в цьому контексті.
Безумовно, автомобільні або реактивні двигуни не називаються таким чином, оскільки вони беруть участь і дають певний вихід. Якби це було, то не просто функції, а багато речей у житті були б двигунами.
Не випадково, на мою думку, корова, безумовно, не є двигуном, технічно не кажучи, і не будь-яким розумним способом розмови.
Двигуни використовують різні види енергії та перетворюють її в рух (тобто спеціалізований тип енергії).
Чому ми використовуємо це в програмному забезпеченні? Я б сказав, що найбільш реалістична здогадка - це просто звучить круто. Чому ми називаємо деяких програмістів «архітекторами»? З тієї ж причини, якщо ви запитаєте мене.
Іншою причиною може бути те, що програмісти, як правило, люблять використовувати метафори для опису частин свого програмного забезпечення, щоб їх було легше зрозуміти (адже, природно, часто це не так).
Моя думка полягає в тому, що погана практика зловживати метафорами таким чином, щоб домен вашої програми був переповнений ними. Я думаю, що це може бути корисним під час розмови з клієнтами або людьми, які не знають і не цікавляться програмуванням. Крім цього, прості діаграми потоків і діаграми виконують роботу для мене.
Двигун - це все, що вимагає певного вводу, обробляє цей вхід і забезпечує щось як вихід . Згідно з цим визначенням, двигун CMS - це та частина, яка генерує HTTP-відповідь на ходу на основі вхідних даних. Двигун бази даних - це те, що займає запит, малює план виконання та виконує його та повертає результат.
Технічно кажучи, навіть корова - це своєрідний двигун. Він бере траву, обробляє її і доставляє молоко.
Не забувайте, що термін двигун більше використовується в машинобудуванні, і він робить саме те саме.
Ще один аспект двигуна - це ядро системи. Наприклад, двигун бази даних є ядром будь-якої RDMS. Однак IDE для підключення до цього двигуна, приймаючи результат і повертаючи результат, не вважається двигуном.
IMHO, двигун - це ще одне слово для підсистеми, модуля чи бібліотеки. IE - один або кілька компонентів, згуртованих для конкретних цілей.
На моїй роботі термін, схоже, означає «Один файл коду у форматі XEngine.csз декількома класами всередині цього кодового файлу, який не містить нічого, крім статичних методів». Я кидаю трохи всередину щоразу, коли я дивлюся на це; може бути модулем VB6.
Я особисто не використовував би цей термін, це неоднозначно і безглуздо (якщо, напевно, ви в більшості випадків не пишете програмне забезпечення, яке імітує автомобіль чи, можливо, гоночну гру); це як у старих класах "Менеджер", колись - це ім'я не означає нічого, крім "Це робить багато чого", і зазвичай це означає, що це грубе порушення SOLID.