Design Patterns представляват софтуер-дизайни за решаване на точно определен проблем в разработката на обектно ориентирани софтуерни системи. Всеки [Design-Pattern] описва по точно определен начин взаимодействието на класове, обекти и методи. Всеки дизайн си има собствено име, като (Singleton, Immutable, ..) което за всеки програмист трябва да има едно и също значение.
В този урок ще се спрем на някой от дизайните (Singleton, Immutable,Interface), като с кратки примери ще се опитам да представя тяхното приложение и имплементирането им с Java.
Singleton
Singleton е клас, от който може да се създаде единствено една инстанция на този клас (обект). Някои от случаите, при които трябва да се използва Singleton са:
- обекти не трябва да се презаписват,
- Класове, от които трябва да съществува една единствена инстанция (отваряне на файл, принтиране)
Особености на един Singleton клас
Той съдържа променлива от своя си тип, където е запаметена единствената инстанция.
Той съдържа един статичен метод
getInstance, с който се осъществява достъпа до инстанцията.
Той съдържа безпараметърен конструктор, от тип (
privat), като по този начин се предодвратява създаването на нова инстанция от друг клас с оператора
new.
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| public class Singleton
{
private static Singleton instance = null;
public static Singleton getInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
private Singleton() {}
public void printString(String s)
{
System.out.println(s);
}
} |
CODE1
2
3
4
5
6
7
8
| public class Test
{
public static void main( String args[] )
{
Singleton.getInstance().printString( "Ehoo!" );
}
} |