Поддерживать
www.wikidata.ru-ru.nina.az
U etogo termina sushestvuyut i drugie znacheniya sm Prostranstvo imyon Prostranstvo imyon angl namespace nekotoroe mnozhestvo pod kotorym podrazumevaetsya model abstraktnoe hranilishe ili okruzhenie sozdannoe dlya logicheskoj gruppirovki unikalnyh identifikatorov to est imyon Identifikator opredelyonnyj v prostranstve imyon associiruetsya s etim prostranstvom Odin i tot zhe identifikator mozhet byt nezavisimo opredelyon v neskolkih prostranstvah Takim obrazom znachenie svyazannoe s identifikatorom opredelyonnym v odnom prostranstve imyon mozhet imet ili ne imet takoe zhe znachenie kak i takoj zhe identifikator opredelyonnyj v drugom prostranstve Yazyki s podderzhkoj prostranstv imyon opredelyayut pravila ukazyvayushie k kakomu prostranstvu imyon prinadlezhit identifikator to est ego opredelenie Naprimer Andrej rabotaet v kompanii X a ID sokr ot angl Identifier identifikator ego kak rabotnika raven 123 Oleg rabotaet v kompanii Y a ego ID takzhe raven 123 Edinstvennoe s tochki zreniya nekoj sistemy uchyota blagodarya chemu Andrej i Oleg mogut byt razlichimy pri sovpadayushih ID eto ih prinadlezhnost k raznym kompaniyam Razlichie kompanij v etom sluchae predstavlyaet soboj sistemu razlichnyh prostranstv imyon odna kompaniya odno prostranstvo Nalichie dvuh rabotnikov v kompanii s odinakovymi ID predstavlyaet bolshie problemy pri ih ispolzovanii naprimer po platyozhnomu cheku v kotorom budet ukazan rabotnik s ID 123 budet vesma zatrudnitelno opredelit rabotnika kotoromu etot chek prednaznachaetsya V bolshih bazah dannyh mogut sushestvovat sotni i tysyachi identifikatorov Prostranstva imyon ili shozhie struktury realizuyut mehanizm dlya sokrytiya lokalnyh identifikatorov Ih smysl zaklyuchaetsya v gruppirovke logicheski svyazannyh identifikatorov v sootvetstvuyushih prostranstvah imyon takim obrazom delaya sistemu modulnoj Ogranichenie vidimosti peremennyh mozhet takzhe proizvoditsya putyom zadaniya klassa eyo pamyati Operacionnye sistemy mnogie sovremennye yazyki programmirovaniya obespechivayut podderzhku svoej modeli prostranstv imyon ispolzuyut katalogi ili papki kak model prostranstva imyon Eto pozvolyaet sushestvovat dvum fajlam s odinakovymi imenami poka oni nahodyatsya v raznyh katalogah V nekotoryh yazykah programmirovaniya naprimer C Python identifikatory imyon prostranstv sami associirovany s sootvetstvuyushimi prostranstvami Poetomu v etih yazykah prostranstva imyon mogut vkladyvatsya drug v druga formiruya derevo prostranstv imyon Koren takogo dereva nazyvaetsya GranicyV yazykah programmirovaniya odnim iz sposobov zadaniya granicy prostranstva imen mozhet byt ispolzovanie t n oblasti vidimosti Ispolzovanie v yazykahC Prostranstvo imyon opredelyaetsya blokom instrukcij namespace foo int bar Vnutri etogo bloka identifikatory mogut vyzyvatsya imenno tak kak oni byli obyavleny No vne bloka trebuetsya ukazanie imeni prostranstva imyon pered identifikatorom Naprimer vne namespace foo identifikator bar dolzhen ukazyvatsya kak foo bar C soderzhit nekotorye drugie konstrukcii delayushie podobnye trebovaniya neobyazatelnymi Tak pri dobavlenii stroki using namespace foo v kod ukazyvat prefiks foo bolshe ne trebuetsya Eshyo primer namespace Namespace12 int foo 0 void func1 using namespace Namespace12 teper vse imena iz prostranstva imyon Namespace12 budut vidny zdes bez dopolnitelnyh prefiksov foo void func2 a tut imya nuzhno utochnit Namespace12 foo 42 Kod ne obyavlennyj yavnym obrazom v prostranstve imyon podrazumevaetsya obyavlennym v globalnom prostranstve imyon Razreshenie prostranstv imyon v C ierarhichno Eto oznachaet chto v gipoteticheskom prostranstve imyon eda sup identifikator kurica budet oboznachat eda sup kurica esli prostranstvo sushestvuet Esli ne sushestvuet to togda on ukazyvaet na eda kurica esli eto prostranstvo sushestvuet Esli i eto prostranstvo ne sushestvuet to kurica ssylaetsya na identifikator v globalnom prostranstve Zachastuyu prostranstva imyon v C ispolzuyutsya dlya izbezhaniya namespace int a void f int g Nelzya osushestvit dostup iz odnoj edinicy translyacii k chlenu anonimnogo prostranstva imyon iz drugoj edinicy Hotya prostranstva imyon shiroko ispolzuyutsya v sovremennom kode bolshaya chast starogo koda ne imeet podobnyh vozmozhnostej Naprimer vsya standartnaya biblioteka yazyka C opredelena vnutri namespace std no do standartizacii mnogie komponenty pervonachalno byli opredeleny v globalnom prostranstve Takzhe mozhno sdelat vidimym ne vsyo prostranstvo a otdelnye imena vnutri nego naprimer namespace foo int bar int somelse int main using foo bar Delaet vidimym tolko bar somelse nevidim return 0 Java Ideya prostranstv imyon voploshena v Java paketah Ves kod opredelyon vnutri paketa prichyom etot paket ne nuzhdaetsya v yavno zadannom imeni Kod iz drugih paketov dostupen pri prefiksnom ukazanii imeni paketa pered sootvetstvuyushim identifikatorom naprimer klass a rel nofollow class external text href https docs oracle com en java javase 11 docs api java base java lang String html String a v pakete a rel nofollow class external text href https docs oracle com en java javase 11 docs api java base java lang package summary html java lang a mozhet byt vyzvan kak java lang String dannyj sposob izvesten kak polnoe imya klassa Kak i v C Java predlagaet konstrukciyu delayushuyu neobyazatelnym ukazanie imya paketa import Tem ne menee nekotorye osobennosti kak naprimer otrazhenie trebuyut ot programmista ispolzovaniya polnogo imeni V otlichie ot C prostranstva imyon v Java ne yavlyayutsya ierarhicheski uporyadochennymi iz za sintaksisa samogo yazyka Tem ne menee pakety imenuyutsya v ierarhicheskom stile Naprimer vse pakety nachinayushiesya s java yavlyayutsya chastyu platformy Java paket java lang soderzhit bazovye klassy yazyka a a rel nofollow class external text href https docs oracle com en java javase 11 docs api java base java lang reflect package summary html java lang reflect a soderzhit bazovye klassy specifichnye dlya otrazheniya refleksii V yazyke Java tak zhe kak i v Ada C i drugih yazykah prostranstva imyon pakety otrazhayut semanticheskie kategorii koda Naprimer v C namespace System soderzhit kod realizuemoj sistemoj platforma NET Kak imenno opredelyayutsya eti kategorii i kakova glubina ierarhii zavisit ot samogo yazyka Oblast vidimosti Funkciya i klass mogut byt opredeleny kak neyavnoe prostranstvo imyon slozhno svyazannoe s vidimostyu dostupnostyu i C V yazyke C sushestvuyut prostranstva imyon upotreblenie analogichno C Python V Python ideya prostranstv imyon realizovana v modulyah Tak zhe kak i v paketah Java JavaScript Nesmotrya na otsutstvie formalnoj podderzhki prostranstv imyon ih legko realizovat pri pomoshi obektnoj koncepcii yazyka var NameSpace 1 var NameSpace 2 new Object dva prostranstva imen NameSpace 1 a 100 NameSpace 2 a Zemlyanika Peremennye a u kazhdogo svoi with NameSpace 1 Ukazyvaem prostranstvo imen po umolchaniyu a 10 NameSpace 2 a a Peremennaya a prostranstva imen NameSpace 2 okazhetsya ravnoj Zemlyanika110 XML Osnovnaya statya Prostranstvo imyon XML V XML specifikaciya prostranstv XML imyon opredelyaet unikalnost imyon elementov i atributov v dokumente analogichno roli prostranstv imyon v yazyke programmirovaniya Pri pomoshi prostranstv imyon XML dokumenty mogut soderzhat imena elementov ili atributov iz bolee chem odnogo slovarya XML lt rdf RDF xmlns rdf http www w3 org 1999 02 22 rdf syntax ns xmlns foaf http xmlns com foaf 0 1 xmlns rdfs http www w3 org 2000 01 rdf schema gt lt foaf Person rdf about JW gt xmlns XML Namespace prostranstvo imen XML Podklyuchayutsya RDF dlya sozdaniya dokumenta RDF FOAF i RDF Schema format oformleniya RDF FOAF eto tozhe prostranstvo RDF dokumenta poetomu proveryaetsya ego oformlenie soglasno slovaryu pravilam specifikacii RDF PHP Nachinaya s versii 5 3 0 v PHP vvedeno ponyatie prostranstva imyon lt php namespace my name opredelim novoe prostranstvo imyon class MyClass function myfunction const MYCONST 1 a new MyClass vyzov vnutri prostranstva my name c new my name MyClass ispolzuem polnoe imya vklyuchayushee nazvanie prostranstva imyon d new globalClass obrashenie k klassu iz globalnogo prostranstva imyon gt Vazhnyj moment Direktiva namespace dolzhna byt pervoj strokoj koda v fajle Isklyuchenie sostavlyaet klyuchevoe slovo declare kotoroe mozhet predshestvovat direktive namespace Ne dopuskaetsya dazhe vyvod HTML pered pervoj konstrukciej lt php Opisanie sintaksisa est na oficialnom sajte proekta PHP Common Lisp V standartnom sintaksise Common Lisp imeyutsya tablichnye prostranstva imyon realizuemye cherez sistemu paketov Dlya ispolzovaniya identifikatora simvola neobhodimo ukazat ego polnoe nazvanie nazvanie paketa dvoetochie i nazvanie samogo simvola V Allegro Common Lisp realizovano nestandartnoe rasshirenie Common Lisp ierarhicheskie prostranstva imyon v kotorom pakety razdelyayutsya tochkoj v stile Java a identifikator ot paketov otdelyaetsya dvoetochiem Takzhe vozmozhny obrasheniya k smezhnym uzlam v ierarhii prostranstv imyon s pomoshyu ukazaniya otnositelnyh putej cherez dve tochki Prostranstva imyon v Common Lisp yavlyayutsya dinamicheskimi oni sozdayutsya napolnyayutsya i unichtozhayutsya vo vremya vypolneniya programmy istochnik ne ukazan 895 dnej hotya preimushestvenno primenyaetsya deklarativnaya forma ih opisaniya s pomoshyu formy defpackage PureBasic V PureBasic 5 20 byla vvedena podderzhka prostranstva imyon realizovannaya v vide modulej Prostranstvo imyon opredelyaetsya blokom komand Module i EndModule i ne zavisit ot raspolozheniya v ishodnyh fajlah Eto znachit chto v odnom fajle mogut byt neskolko modulej ili naoborot kod modulya mozhet byt razdelen na neskolko fajlov Po umolchaniyu vse prostranstvo modulya skryto i chtoby sdelat vidimym otdelnye ego elementy ih neobhodimo obyavit v specialnom bloke komand DeclareModule EndDeclareModule Vse chto ne obyavleno v etom bloke ne dostupno vne predelov modulya i popytka dostupa privedet k soobsheniyu kompilyatora o narushenii prav dostupa DeclareModule Count x 0 Public elements Declare Counter EndDeclareModule Module Count y 0 Private elements Procedure Counter y 1 ProcedureReturn y EndProcedure EndModule Count x 10 Zapis chisla v peremennuyu dlya primera Debug Count Counter Vyzov procedury ispolzuya imya modulya UseModule Count Otobrazhenie modulya v tekushee prostranstvo Debug Counter Dostup k otkrytym Public elementam bez ukazaniya imeni modulya UnuseModule Count Otmena dejstviya UseModule Dlya dostupa elementam modulya iz drugogo modulya ili globalnogo prostranstva neobhodimo ukazat imya modulya i ego element naprimer Count x Tak zhe mozhno ispolzovat komandu UseModule kotoraya pozvolyaet otobrazit vse vidimye elementy modulya v tekushee prostranstvo Eyo dejstvie otmenyaet komanda UnuseModule Nuzhno otmetit chto odnovremenno vozmozhno otobrazit vidimye elementy neskolkih modulej pri uslovii chto pri etom ne vozniknet konflikta imen Dopustim chto v proekte est moduli s imenami x y i z UseModule x UseModule y Kod UseModule z Eshe kod UnuseModule y Eshe kod UnuseModule x UnuseModule z Etot primer pokazyvaet chto vozmozhno otobrazit v tekushee prostranstvo neskolko modulej a takzhe to chto ne vazhna posledovatelnost otobrazheniya elementov modulej i ego otmeny Emulyaciya prostranstv imyonV yazykah programmirovaniya bez sobstvennoj podderzhki prostranstv imyon prostranstva mogut emulirovatsya rasshireniem ispolzuya Naprimer biblioteki yazyka Si takie kak Libpng chasto ispolzuyut fiksirovannyj prefiks dlya vseh funkcij i peremennyh yavlyayushijsya chastyu ih vneshnego interfejsa Libpng podderzhivaet vneshnie identifikatory takie kak png create write struct png get signature png read row png set invalid Eto daet obosnovannuyu garantiyu togo chto identifikatory budut unikalny i takim obrazom mogut byt ispolzovany v bolshih programmah bez opaseniya K nedostatkam emulyacii prostranstv imyon mozhno otnesti istochnik ne ukazan 3899 dnej Otsutstvie normalnogo uchyota vlozhennyh prostranstv identifikatory stanovyatsya chereschur dlinnymi Programmisty ili organizacii mogut ispolzovat rezko nesovmestimye soglasheniya o naimenovanii tem samym potencialno provociruya bolshuyu zaputannost Slozhnye operacii ili operacii zaprosa nad gruppami identifikatorov osnovannyh na prostranstvah imyon v kotoryh oni obyavleny obrabatyvayutsya slishkom neoptimalno ili voobshe nevypolnimy Vse vyzovy identifikatorov dolzhny na samom dele osushestvlyat s angl Yazyki s neposredstvennoj podderzhkoj prostranstv imyon obychno predostavlyayut programmistu vozmozhnost predvaritelno obyavlyat chto oni hotyat ispolzovat nekotorye a to i vse identifikatory v programme tolko iz odnogo prostranstva kotorye oni vposledstvii mogut ispolzovat bez ukazaniya prinadlezhnosti k prostranstvu PrimechaniyaPHP Ispolzovanie prostranstva imen osnovy Manual neopr Data obrasheniya 22 sentyabrya 2016 31 yanvarya 2019 goda Packages angl www cs northwestern edu Data obrasheniya 23 dekabrya 2018 24 dekabrya 2018 goda Source Code Organisation neopr lispmethods com Data obrasheniya 23 dekabrya 2018 16 marta 2019 goda Hierarchical Packages angl franz com Data obrasheniya 10 iyunya 2017 24 dekabrya 2018 goda CLHS Macro DEFPACKAGE neopr www lispworks com Data obrasheniya 10 iyunya 2017 1 fevralya 2019 goda V state ne hvataet ssylok na istochniki sm rekomendacii po poisku Informaciya dolzhna byt proveryaema inache ona mozhet byt udalena Vy mozhete otredaktirovat statyu dobaviv ssylki na avtoritetnye istochniki v vide snosok 2 noyabrya 2013, Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер
Вершина