Keńeyiwshilik

Keńeyiwshilik yamasa Keńeytiwshilik () – keleshektegi ósiwdi támiyinleytuǵın programmalıq injiniring hám sistema dizaynı principi. Keńeyiwshilik – sistemanı keńeytiw qabiletiniń hám keńeytiwdi ámelge asırıw ushın talap etiletuǵın kúsh dárejesiniń ólshemi. Keńeytiwler jańa funkcionallılıqtı qosıw yamasa bar funkcionallılıqtı ózgertiw arqalı ámelge asırılıwı múmkin. Princip bar sistema funkciyalarına zıyan jetkermesten jetilistiriwlerdi támiyinleydi.

Keńeyiwshilik sistema – onıń ishki strukturası hám maǵlıwmat aǵımı jańa yaki ózgertilgen funkcionallılıq tárepinen minimal túrde yaki tásir etpeytuǵın sistema, mısalı sistemanıń minez-qulqın ózgertkende, jaratıwshı yaki basqa baǵdarlamashılar tárepinen derek kodın qayta kompilyaciyalaw yaki ózgertiw zárúr bolmawı múmkin. Programmalıq támiynat sistemaları uzaq jasaytuǵınlıqtan hám paydalanıwshılar talap etken jańa funkciyalar hám qosılǵan funkcionallılıqlar ushın ózgertiliwi sebepli, Keńeyiwshilik baǵdarlamashılarǵa programmalıq támiynattıń imkaniyatların keńeytiwge yaki qosıwǵa imkaniyat beredi hám sistematikalıq qayta paydalanıwdı jeńillestiredi. Onıń ayırım kózqarasları paydalanıwshılardıń óz programmalıq proceduraların kirgiziwge ruqsat beretuǵın imkaniyatlardı hám jańa maǵlıwmat túrlerin anıqlaw, sonday-aq jańa formatlaw belgilew teglerin anıqlaw qabiletlerin óz ishine aladıJohansson, Niklas, and Anton Löfgren. Designing for Extensibility: An Action Research Study of Maximizing Extensibility by Means of Design Principles. N.p.: n.p., n.d. University of Gothenburg Department of Applied Information Technology, 29 May 2009. Web. 26 Apr. 2014. <https://gupea.ub.gu.se/bitstream/2077/20561/1/gupea_2077_20561_1.pdf>.Rouse, Margaret. "Extensible." SearchSAO. N.p., Mar. 2007. Web. 27 Apr. 2014. <https://web.archive.org/web/20161206223814/http://searchsoa.techtarget.com/definition/extensible >..

 Keńeyiwshi dizayn 
Programmalıq támiynattaǵı keńeytiwshi dizayn – barlıq nárseni aldın ala proektlestiriw múmkin emesligin qabıl etiw. Ózgerislerge jol beretuǵın jeńil programmalıq támiynat freymvorkı ornına támiyinlenedi. Keńeyiwshi elementin joǵaltpaw ushın kishi komandalar dúziledi, jumıs elementlerin túsinikli bólimlerge bóliw principine ámel etiledi, tómen baylanısıw hám joqarı qosılıw sıyaqlı dástúrli programmalıq támiynat rawajlandırıw máselelerinen qashıw hám dawamlı rawajlandırıwǵa múmkinshilik beriledi. Qosılıwlar turaqlı bolatuǵın keńeyiwshi dizayn ushın ózgeristi qabıl etiw áhmiyetli. Sistemanıń hárbir bólegi hár qanday ózgerisler menen islewge jaramlı boladı, al qosıw arqalı ózgeris ideyası pútkil sistema dizaynınıń orayı bolıp tabıladı. Keńeyiwshi dizayn jiyi ózgerislerdi qayta prioritetlestiriwdi qollap-quwatlaydı hám Agile metodologiyaları hám iterativ rawajlandırıw tárepinen qollap-quwatlanatuǵın principler bolǵan soraw boyınsha kishi basqıshlar menen funkcionallılıqtı ámelge asırıwǵa imkaniyat beredi. Keńeyiwshi rawajlandırıw waqtında az hám taza baylanıslardı, sonday-aq azaytılǵan qosılıw hám kóbirek baylanısqan abstrakciyalardı, qosımsha jaqsı anıqlanǵan interfeyslerdi júkleydiKelly, Allan. "The Philosophy of Extensible Software." ACCU-Professionalism in Programming (2002): Web. 27 Apr. 2014. <http://accu.org/index.php/journals/391>..

 Áhmiyeti 
Adam fenomenleri sebepli barlıq baǵdarlamalıq támiynattıń tiykarında ózgeriwsheńlik bar, óytkeni baǵdarlamalıq támiynat – adamlar tárepinen rawajlandırılatuǵın hám saqlanatuǵın "evolyuciyalanıwshı substanciya", baǵdarlamalıq támiynat specifikaciyasında hám ámelge asırılıwında dawamlı sistema ózgerislerin payda etedi. Baǵdarlamalıq támiynat komponentleri kóbinese baylanısı bolmaǵan tárepler tárepinen óz aldına rawajlandırıladı hám jaylastırıladı. Sırtqı jetkerip beriwshilerden alınǵan komponentler óndiriwshiden basqa úshinshi tárep paydalanıwshıların esapqa ala otırıp, belgili bir jaylastırıw scenariyine tayar jaraspawı múmkin bolǵanlıqtan, beyimlesiwsheń baǵdarlamalıq támiynat komponentleri zárúr. Kóp baǵdarlamalıq támiynat sistemaları hám baǵdarlamalıq támiynat ónim liniyaları ulıwma baǵdarlamalıq támiynat arxitekturasına yaki geyde funkcionallılıq hám ámelge asırıwdıń úlken bólimlerine iye bolǵan, biraq keńeyiwshi bazalıq sistemanı talap etetuǵın hár túrli komponentler menen úskeneleniwi múmkin bolǵan bazalıq sistemadan alınadıZenger, Matthias. "1.2 Characteristics of Extensibility Mechanisms." Programming Language Abstractions for Extensible Software Components. Lausanne: Swiss Federal Institute of Technology, 2004. N. pag. Web. 26 Apr. 2014. <http://zenger.org/papers/thesis.pdf>..

Óz aldına keńeyiwshi baǵdarlamalıq támiynat sistemaların dúziw – áhmiyetli másele. Óz aldına keńeyiwshi sistema eki adamǵa sistemaǵa keńeytiwlerdi óz aldına rawajlandırıwǵa ǵana emes, sonday-aq global pútinlik tekseriwisiz eki keńeytiwdi birlestiriwge de múmkinshilik beredi.Martin Rytter and Bo Nørregaard Jørgensen.
"Independently Extensible Contexts".
Published in
"Software Architecture: 4th European Conference , ECSA 2010, Copenhagen, Denmark, August 23-26, 2010, Proceedings".
2010.
p. 327.

 Keńeyiwshilik mexanizmleriniń klassifikaciyası 
Baǵdarlamalıq támiynattı keńeytiwdiń úsh túrli forması bar: aq qutılı keńeyiwshilik, kúlreń qutılı keńeyiwshilik hám qara qutılı keńeyiwshilik, bular qanday artefaktlar hám olardıń ózgertiliw usılları tiykarında anıqlanadı.

 Aq qutı 
Bul keńeyiwshilik formasında, baǵdarlamalıq sistema derek kodtı ózgertiw arqalı keńeytiliwi múmkin, hám bul eń iykemli hám eń az sheklewshi forma bolıp tabıladı. Ózgerislerdiń qalay qollanılıwına baylanıslı keńeyiwshiliktiń eki sub-forması bar: ashıq qutılı keńeyiwshilik hám shiyshe qutılı keńeyiwshilik.

 Ashıq qutı 
Ashıq qutılı keńeytiletuǵın sistemalarda ózgerisler invazivlik túrde orınlanadı; yaǵnıy dáslepki derek kodı tikkeley xakerlik etiledi. Bul jaǵdayda derek kodınıń ashıq bolıwı hám onı ózgertiwge ruqsat beretuǵın derek kodı licenziyası kerek boladı. Ashıq qutılı keńeyiwshilik kóbinese qátelerdi dúzetiw, ishki kodtı qayta qurıw yamasa baǵdarlamalıq ónim versiyasın jańalaw ushın qollanıladı.

 Shiyshe qutı 
Shiyshe qutılı keńeyiwshilik (arxitektura basqarılatuǵın freymvorklar dep te ataladı) baǵdarlamalıq sistemanıń derek kodı ashıq bolǵan jaǵdayda keńeytiliwine ruqsat beredi, biraq kodtı ózgertiwge ruqsat etpewi múmkin. Keńeytiwler dáslepki sistemadan bólek bolıwı kerek, yaǵnıy dáslepki sistema tásir etilmeydi. Bul keńeyiwshilik formasınıń bir mısalı - obektke baǵdarlanǵan qollanba freymvorkları, olar keńeyiwshilikke ádette miyraslaw hám dinamikalıq baylanıstırıw arqalı erisedi.

 Qara qutı 
Qara qutılı keńeyiwshilikte (maǵlıwmat basqarılatuǵın freymvorklar dep te ataladı) sistemanıń implementaciyası haqqında hesh qanday maǵlıwmatlar qollanılmaydı; tek interfeys specifikaciyaları beriledi. Bul kózqaras aq qutılı kózqaraslarǵa qaraǵanda sheklengen. Qara qutılı keńeytiwler ádette sistema konfiguraciya qollanbaları arqalı yamasa qollanbaǵa tiyisli skriptlew tillerin komponent interfeyslerin anıqlaw arqalı ámelge asırıladı.

 Kúlreń qutı 
Kúlreń qutılı keńeyiwshilik taza aq qutılı hám taza qara qutılı kózqaraslar arasındaǵı kelisim bolıp, derek kodtı tolıq ashıwǵa tiykarlanbaydı. Baǵdarlamashılarǵa sistemanıń arnawlı interfeysin bere aladı, onda barlıq ashıq abstrakciyalar hám keńeytiwlerdiń qalay rawajlandırılıwı kerekligi haqqında specifikaciyalar kórsetilediZenger, Matthias. "1.3 Classification of Extensibility Mechanisms." Programming Language Abstractions for Extensible Software Components. Lausanne: Swiss Federal Institute of Technology, 2004. N. pag. Web. 26 Apr. 2014..

 Keńeyiwshilik hám qayta qollanılıwshılıq 
Keńeyiwshilik hám qayta qollanılıwshılıqtıń kóp ayrıqsha qásiyetleri ulıwma, sonıń ishinde tómen baylanıs, modullik hám joqarı qáwipli elementlerdiń hár túrli baǵdarlamalıq sistemalar ushın qurılıw imkaniyatı, bul baǵdarlamalıq sistemalardıń jiyi ortaq elementlerdi úlesiwi baqlawı menen ilhamlanǵan. Qayta qollanılıwshılıq keńeyiwshilik penen birge texnologiyanıń basqa proektke az rawajlandırıw hám támiyinlew waqtı menen birge joqarı isenimlilik hám izbe-izlikti támiyinlep ótkeriwge imkaniyat berediZenger, Matthias. "1.1.1 Reusability." Programming Language Abstractions for Extensible Software Components. Lausanne: Swiss Federal Institute of Technology, 2004. N. pag. Web. 26 Apr. 2014..

 Qáwipsizlik 
Zamanagóy operaciyalıq sistemalar qurılma drayverleri hám júkleniwshi yadro modulleri arqalı keńeyiwshilikti qollaydı. Kóp zamanagóy qollanbalar plaginler, keńeytiw tilleri, appletler hám t.b. arqalı keńeyiwshilikti qollaydı. Keńeyiwshilikti kóbeytiw tendenciyası baǵdarlamalıq qáwipsizlikke unamsız tásir etedi.Gary McGraw."Software Security: Building Security in".2006.p. 9.

CGI - veb-serverlerdiń keńeyiwshilikti támiyinlewiniń tiykarǵı qurallarınıń biri. Ayırım adamlar CGI skriptlerin "úlken qáwipsizlik tesigi" dep qaraydıLen Bass, Paul Clements, Rick Kazman. "Software Architecture in Practice". 2003. p. 339..

 Derekler 

Kategoriya:Programmalıq támiynat arxitekturası
__BÖLİDİMÖNDEMEW__