Zagnieżdżone przestrzenie nazw
Zagnieżdżone przestrzenie nazw to przestrzenie nazw, które znajdują się wewnątrz innych przestrzeni nazw. Tworzą one hierarchię przestrzeni nazw, co pozwala na lepsze organizowanie i rozwijanie kodu.
Aby stworzyć zagnieżdżoną przestrzeń nazw, umieszczamy jedną przestrzeń nazw wewnątrz innej przestrzeni nazw.
namespace MojaBiblioteka
{
class MojaKlasa1
{
/* Jakiś kod do wykonania */
}
namespace BibliotekaPodrzędna
{
class MojaKlasa2
{
/* Jakiś kod do wykonania */
}
}
}
Oto przykład programu w języku C#, w którym korzystamy z zagnieżdżonych przestrzeni nazw:
using System;
using MojaBiblioteka.Narzedzia;
namespace MojaAplikacja
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Witaj świecie!");
MojaBiblioteka.DostepDoDanych.MojKlasa myObject1 = new MojaBiblioteka.DostepDoDanych.MojKlasa();
myObject1.MojMetoda();
myObject1.MojMetoda2();
MojaBiblioteka.LogikaBiznesowa.MojKlasa myObject2 = new MojaBiblioteka.LogikaBiznesowa.MojKlasa();
myObject2.MojMetoda();
myObject2.MojMetoda2();
PomocnikStringow.OdwrocString("Witaj świecie!");
}
}
}
namespace MojaBiblioteka
{
namespace DostepDoDanych
{
class MojKlasa
{
public void MojMetoda()
{
Console.WriteLine("To jest MojMetoda z przestrzeni nazw DostepDoDanych.");
}
public void MojMetoda2()
{
Console.WriteLine("To jest MojMetoda2 z przestrzeni nazw DostepDoDanych.");
}
}
}
namespace LogikaBiznesowa
{
class MojKlasa
{
public void MojMetoda()
{
Console.WriteLine("To jest MojMetoda z przestrzeni nazw LogikaBiznesowa.");
}
public void MojMetoda2()
{
Console.WriteLine("To jest MojMetoda2 z przestrzeni nazw LogikaBiznesowa.");
}
}
}
namespace Narzedzia
{
public static class PomocnikStringow
{
public static void OdwrocString(string s)
{
char[] charArray = s.ToCharArray();
Array.Reverse(charArray);
Console.WriteLine(new string(charArray));
}
}
}
}
To jest MojMetoda z przestrzeni nazw DostepDoDanych.
To jest MojMetoda2 z przestrzeni nazw DostepDoDanych.
To jest MojMetoda z przestrzeni nazw LogikaBiznesowa.
To jest MojMetoda2 z przestrzeni nazw LogikaBiznesowa.
!eiceiwś jatiW
W tym przykładzie mamy trzy zagnieżdżone przestrzenie nazw: MojaBiblioteka.DostepDoDanych, MojaBiblioteka.LogikaBiznesowa oraz MojaBiblioteka.Narzedzia. W każdej z nich znajdują się odpowiednie klasy i metody, które odpowiadają za różne funkcjonalności programu. W metodzie Main korzystamy z tych klas i metod za pomocą pełnej nazwy z przestrzeni nazw. Dzięki zagnieżdżonym przestrzeniom nazw kod jest lepiej zorganizowany i łatwiejszy w utrzymaniu.
Zagnieżdżone przestrzenie nazw pozwalają na lepsze rozdzielenie kodu w aplikacji, co ułatwia jego utrzymanie i rozwijanie. Możemy np. oddzielić elementy dotyczące bazy danych od elementów dotyczących interfejsu użytkownika.