Plugins са плюсовете и минусите - това отбелязва,

Ние вече засегна на техническите аспекти на създаването на плъгини в Qt. Този път ще се съсредоточим върху теоретичната страна на въпроса. Сега сме изправени пред въпроса не е "Как?" И "Защо?"

Накратко припомни какво е плъгин. Plug-in - по желание динамична библиотека, която изпълнява определен интерфейс. Това означава, че приложение, което използва приставки, се състои от сърцевина и добавки. Тези модули са задължителни. произволно може да се добави и отстранени, без прекомпилиране на целия проект, както и да има минимален брой зависимости между (в идеалния случай - не зависят един от друг). В този случай, всеки, който знае плъгин интерфейс, може да създаде собствени сменяем разширение за приложения, без да се налага достъп до изходния код на проекта.

Това определение предполага някои плюсове и минуси на използването на плъгини.

Plugins - плюсове

Започваме, разбира се, с професионалистите.

популяризиране на приложение

Plugins, за да добавите подкрепа на проекта, а не да разчитат на това предимство доста странно. Разширения от трета страна на разработчиците - основната движеща сила на възможности за растеж и популярността на молбата си в този случай.

Въвеждане с отворени Сорс за проекта не предоставя същите ползи. Ако заявлението е отворен, но няма прости начина за добавяне на разширения, потребителите ще бъдат доволни с всяка версия на "извън кутията", или да изберат "по-гъвкав" решение. Тази ситуация е от значение за DWM графичната обвивка. Описва как да инсталирате "разширения" за DWM (или по-скоро - лепенки) се оказа толкова сложна, че се е превърнала в пълна статия.

Лесен за ъпгрейд

Модулна приложение, което се състои от плъгини от страна на потребителя е много по-лесно да преминете от монолитна. Технически това се свежда до един прост добавяне или замяна на един или повече библиотеки от файлови разширения.

Защото плъгини малко зависими от един на друг, всеки потребител може да се изгради на приложението на вашия вкус, дизайнер. Въпреки това, той получава само по това, което той се нуждае. Това приложение е дизайнерски почти невъзможно да се приложи без използването на плъгини - би трябвало да имаме хиляди възли с всички възможни комбинации от набор от функции (или да получите неприятно система кръпка, както в DWM).

Plugins - минуси

Не е лишен от подход, основан на плъгини и недостатъци.

Колкото по-висока сложност на изпълнението

По-голямата гъвкавост на системата, толкова по-трудно е да се прилага и поддържа. Освен това е очевидно, на всички етапи на развитие - от проектирането до кодиране.

Предизвикателството наистина е доста сложно. Компромисите са необходими. Трудността се състои в това: как да изберете приставката е интерфейс, който едновременно се отваря всичко, което е необходимо, и в същото време да се скрият от останалите. Така че ние постепенно преминете към следващия минус.

проблеми със сигурността

Ако не ограничава свободата на действие на плъгини, можете да се сблъскате с проблеми със сигурността. Отговорността за това какво се случва плъгини носи разработчик и дизайнер на ядрото за кандидатстване. Човек винаги трябва да се помни, че нападателят може да се изплъзне вашето потребителско приставка под прикритието на "добра". Ако плъгин може да направи нищо, тогава всичко може да се случи, нещо, в зависимост от нивото на правото на потребителя, който стартира приложението.

За да се реши този проблем, трябва да се осигури намаление на доходите, което ще се проведе на приставката.

Удобен за използване програмиране сигурност езикови конструкции. Един добър пример - Java език, който се слави с най-различни системи и нива на защита.

Ако сте много сериозно репутацията на вашия продукт, можете да отидете още по-далеч и да вземат Отхвърляне на "лошите" плъгини. Разширение на разработчиците трябва да минават през проверка на качеството, без които те няма да я получите в официалната база данни. Подобна бе взето решение в App Store от Apple.

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

Но не забравяйте, че пълна поддръжка на плъгини - това е голяма отговорност. Трябва да бъдат предупредени предварително за гъвкавост, надеждност и сигурност плъгин интерфейс. Ако смятате, че ползите, които ви интересуват, не е силна, тя е много по-лесно да се ограничи обикновен динамичен (или статични) библиотеки, които ясно ще бъдат свързани с процеса на изграждане на проекта. Толкова много пъти ви се опрости задачата и значително да намали обема на работата.


Проектиране гъвкав OOP код например


Пет типични грешки на дизайна и програмирането


Създаване на Qt-ина


Десет съвета за създаване на гъвкав програмен код