KOL | |
---|---|
Tyyppi | Kirjasto |
Kehittäjä | Vladimir Kladov |
Sisään kirjoitettu | Pascal |
Käyttöjärjestelmä | Windows , Windows Mobile , Linux |
uusin versio | 3.23.5 (27.02.2015) |
Osavaltio | aktiivinen [1] |
Lisenssi | Ilmainen ohjelmisto |
Verkkosivusto | sourceforge.net/projects… |
KOL (Key Objects Library) on Delphi- ja Lazarus -ympäristön ohjelmointiin tarkoitettu objektityyppikirjasto . KOL:n päätavoite on pienentää lopullisen ohjelman kokoa ( Win32 , GUI ) 5-10 kertaa VCL -kirjastoon verrattuna . Kaikki Delphin 32-bittiset versiot ovat tuettuja Delphi 2:sta BDS 2010:een.
MCK (Mirror Classes Kit) on joukko peililuokkia, joiden avulla voit visuaalisesti kehittää KOL-kirjastoon perustuvaa projektia. MCK-komponentit asennetaan komponenttipaletille, joiden kanssa työskentely tapahtuu samalla tavalla kuin Delphissa visuaalisen kehityksen aikana. Kootussa projektissa visuaaliset komponentit korvataan KOL:n ei-visuaalisilla vastineilla. MCK:n käyttö pienentää suoritettavan ohjelman kokoa samalla tavalla kuin KOL:n käyttö ei-visuaalisesti. Etuna on visuaalinen kehitys, haittapuoli on riippuvuus Delphi-versiosta (Delphi2, Delph3, Delphi4, Delphi5, Delphi6, Delphi7, BDS 2005-2012, Kylix ja Free Pascal Compiler 1.0.5 ja uudemmat ovat tuettuja).
KOL-projektia on johtanut ohjelmoija Vladimir Kladov noin kymmenen vuoden ajan. KOL- ja MCK-projektit sisältävät satoja komponentteja.
Yksi ongelma RAD :n kaltaisissa järjestelmissä on sovelluksen suoritettavan tiedoston koko. Pääsyyllinen tähän on visuaalisen suunnittelun kirjastojen ( VCL , MFC , Qt ) OOP -tekniikoiden käyttöönotto. Yksi syy on korkean abstraktion periytymisjärjestelmä, joka lisää merkittävästi perusluokkien koodia. Kun otetaan huomioon VCL-grafiikkakomponenttien melko vaikuttava hierarkia, niiden suuri koko on varsin ymmärrettävää. Toinen syy on Delphi - kääntäjän virtuaalisten menetelmien käyttöönotto . Delphi voi sulkea pois tavalliset, ei-virtuaaliset menetelmät linkin aikana, jos niitä ei kutsuta missään koodissa. Virtuaaliset menetelmät on koodattu VMT:ssä, jonka kokoa kääntäjä ei voi laskea uudelleen, joten virtuaaliset menetelmät sisältyvät aina käännettyyn koodiin, vaikka niitä ei varsinaisesti kutsuttaisi mihinkään.
KOL/MCK-kehittäjä pystyi tarjoamaan kompromissiratkaisun, joka antaa VCL:n analogin visuaalisen suunnittelun mahdollisuudella, mutta suoritettavan moduulin lähtökoolla on 5-10 kertaa pienempi kuin VCL:llä. Sekä useiden osien optimointi assemblerissä että mielenkiintoinen ratkaisu perinnöllisen perinnön tosiasiallisella hylkäämisellä olivat tässä roolissa: kaikki visuaaliset KOL-komponentit ovat yksittäisen valtavan TControlin esiintymiä, joka toteuttaa käyttöjärjestelmän kaikkien käyttöliittymäelementtien toiminnallisuuden. yhden kerran. Voimme sanoa, että KOL-ratkaisu on OO-lisäosa ikkunan kahvan (kahvan) päälle "otsassa", joka ei tee eroa käyttöliittymäelementtien eri luokkien välillä, kuten ei itse käyttöjärjestelmä. KOL on luultavasti ainoa oliokirjasto , jolla on tällainen arkkitehtuuri.
KOL-kirjastolle (tarkemmin alun perin edeltäjälleen XCL-kirjastolle) Vladimir Kladov kehitti XHelpGen-dokumentaatiogeneraattorin, jonka periaate on samanlainen kuin Doxygen .
Ohjetiedostot luodaan automaattisesti tyyppisten kommenttien perusteella {* }, jotka on sijoitettu moduulien käyttöliittymäosaan lähdeteksteihin. (symboli *on valinnainen ja se voidaan korvata millä tahansa muulla; lisäksi on mahdollista käyttää useita erilaisia symboleja esimerkiksi ohjetiedostojen lokalisoimiseen).
Luonti suoritetaan automaattisesti lähdekoodin kommenttien perusteella ( Delphi Pascal -kielellä ), ja se tapahtuu, kun xHelpGen havaitsee käynnistyksen yhteydessä, että kaikki tarkistetun hakemiston lähdetiedostot ovat muuttuneet. Ohje on luotu HTML - muodossa ja se on katsottavissa millä tahansa selaimella .