5. Глава III. ЗЗЗ++

ЗЗЗ++ е допълнителна функционалност, която позволява работа с класове и обекти, които живеят в мрежата от ЗЗЗ сървъри и ЗЗЗ бази. Това е изключително мощна функционалност, която дава нов поглед върху разработката на приложения. Те не са ограничени от размера на оперативната или дискова памет на един компютър, а могат да работят едновременно на множество компютри свързани в мрежа.

5.1 Команди за управление на класове

Примери за използването на следващите команди има в папката “libs/src” от демонстрационния пакет описан в раздела “Какво ни е необходимо преди да продължим?”.

пример:
#[.=;_class_base_;docbases/classes.zzz]
#[.=;_class_;/MyClass]

#[::-;##[_class_base_];##[_class_]]
#[::+;##[_class_base_];##[_class_]]

#[cout;
	#[ZZZ2SimpleTXTFromDividerPath;##[_class_base_];;/]
]
Горната програма написана с команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ class base ;docbases/classes.zzz]
#[ class ;/MyClass]

#[ remove class ]
#[ add class ]

#[ base ;##[_class_base_]]
#[ get the base as a simple text ]
пример:
#[.=;_class_base_;docbases/classes.zzz]
#[.=;_class_;/MyClass]

#[::-;##[_class_base_];##[_class_]]
#[::+;##[_class_base_];##[_class_]]

#[cout;
	#[ZZZ2SimpleTXTFromDividerPath;##[_class_base_];;/]
]
Горната програма написана с команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ class base ;docbases/classes.zzz]
#[ class ;/MyClass]

#[ remove class ]
#[ add class ]

#[ base ;##[_class_base_]]
#[ get the base as a simple text ]
пример:
#[.=;_class_base_;docbases/classes.zzz]
#[.=;_class_;/MyClass]

#[::-;##[_class_base_];##[_class_]]
#[::+;##[_class_base_];##[_class_]]

#[::+#;##[_class_base_];##[_class_];Copyright;##[COPYRIGHT_ZZZ]]
#[::+#;##[_class_base_];##[_class_];history/2016-08-07;създаване]

#[cout;
	#[ZZZ2SimpleTXTFromDividerPath;##[_class_base_];;/]
]
Горната програма написана с команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ class base ;docbases/classes.zzz]
#[ class ;/MyClass]

#[ remove class ]
#[ add class ]

#[ add comment ;;Copyright;##[COPYRIGHT_ZZZ]]
#[ add comment ;;history/2016-08-07;създаване]

#[ base ;##[_class_base_]]
#[ get the base as a simple text ]
пример:
#[.=;_class_base_;docbases/classes.zzz]

#[.=;_class_;/MyParentClass]
#[::-;##[_class_base_];##[_class_]]
#[::+;##[_class_base_];##[_class_]]

#[.=;_class_;/MyClass]
#[::-;##[_class_base_];##[_class_]]
#[::+;##[_class_base_];##[_class_]]

#[::+^;##[_class_base_];##[_class_];##[_class_base_];/MyParentClass]

#[cout;
	#[ZZZ2SimpleTXTFromDividerPath;##[_class_base_];;/]
]
Горната програма написана с команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ class base ;docbases/classes.zzz]

#[ class ;/MyParentClass]
#[ remove class ]
#[ add class ]

#[ class ;/MyClass]
#[ remove class ]
#[ add class ]

#[ add parent ;##[_class_base_];/MyParentClass]

#[ base ;##[_class_base_]]
#[ get the base as a simple text ]
пример:
#[.=;_class_base_;docbases/classes.zzz]

#[.=;_class_;/MyParentClass]
#[::-;##[_class_base_];##[_class_]]
#[::+;##[_class_base_];##[_class_]]

#[.=;_class_;/MyClass]
#[::-;##[_class_base_];##[_class_]]
#[::+;##[_class_base_];##[_class_]]

#[::+^;##[_class_base_];##[_class_];##[_class_base_];/MyParentClass]
#[::-^;##[_class_base_];##[_class_];##[_class_base_];/MyParentClass]

#[cout;
	#[ZZZ2SimpleTXTFromDividerPath;##[_class_base_];;/]
]
Горната програма написана с команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ class base ;docbases/classes.zzz]

#[ class ;/MyParentClass]
#[ remove class ]
#[ add class ]

#[ class ;/MyClass]
#[ remove class ]
#[ add class ]

#[ add parent ;##[_class_base_];/MyParentClass]
#[ remove parent ;##[_class_base_];/MyParentClass]

#[ base ;##[_class_base_]]
#[ get the base as a simple text ]
пример:
#[.=;_class_base_;docbases/classes.zzz]

#[.=;_class_;/MyClass]
#[::-;##[_class_base_];##[_class_]]
#[::+;##[_class_base_];##[_class_]]

#[::+#;##[_class_base_];##[_class_];Copyright;##[COPYRIGHT_ZZZ]]
#[::+#;##[_class_base_];##[_class_];history/2016-08-07;създаване]

#[::+.;##[_class_base_];##[_class_];constructors/public/constructor;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}];
	[
		#[cout;
			object base: {OBJECTBASE}##[chr;10]
			object name: {OBJECTNAME}##[chr;10]
			method: constructor
		]
	];
]
#[::+#;##[_class_base_];##[_class_]/constructors/public/constructor;history/\
2016-08-07;[created default constructor]]

#[::+.;##[_class_base_];##[_class_];destructors/public/destructor;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}];
	[
		#[cout;
			object base: {OBJECTBASE}##[chr;10]
			object name: {OBJECTNAME}##[chr;10]
			method: destructor
		]
	];
]
#[::+#;##[_class_base_];##[_class_]/destructors/public/destructor;history/20\
16-08-07;[created default destructor]]

#[::+.;##[_class_base_];##[_class_];methods/public/test;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}];
	[
		#[cout;
			object base: {OBJECTBASE}##[chr;10]
			object name: {OBJECTNAME}##[chr;10]
			method: test
		]
	];
]
#[::+#;##[_class_base_];##[_class_]/methods/public/test;history/2016-09-04;[\
created method test]]

#[::+;##[_class_base_];##[_class_]]

#[cout;
	#[ZZZ2SimpleTXTFromDividerPath;##[_class_base_];;/]
]
Горната програма написана с команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ class base ;docbases/classes.zzz]

#[ class ;/MyClass]
#[ remove class ]
#[ add class ]

#[ add comment ;;Copyright;##[COPYRIGHT_ZZZ]]
#[ add comment ;;history/2016-08-07;създаване]

#[ add method ;constructors/public/constructor;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}];
	[
		#[cout;
			object base: {OBJECTBASE}#[ new line ]
			object name: {OBJECTNAME}#[ new line ]
			method: constructor
		]
	];
]
#[ add comment ;/constructors/public/constructor;
	history/2016-08-07;
	[created default constructor]]

#[ add method ;destructors/public/destructor;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}];
	[
		#[cout;
			object base: {OBJECTBASE}#[ new line ]
			object name: {OBJECTNAME}#[ new line ]
			method: destructor
		]
	];
]
#[ add comment ;/destructors/public/destructor;
	history/2016-08-07;
	[created default destructor]]

#[ add method ;methods/public/test;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}];
	[
		#[cout;
			object base: {OBJECTBASE}#[ new line ]
			object name: {OBJECTNAME}#[ new line ]
			method: test
		]
	];
]
#[ add comment ;/methods/public/test;
	history/2016-09-04;
	[created method test]]

#[ add class ]

#[ base ;##[_class_base_]]
#[ get the base as a simple text ]
пример:
#[.=;_class_base_;docbases/classes.zzz]

#[.=;_class_;/MyClass]

#[::-.;##[_class_base_];##[_class_];constructors/public/constructor;]
#[::-.;##[_class_base_];##[_class_];destructors/public/destructor;]

#[cout;
	#[ZZZ2SimpleTXTFromDividerPath;##[_class_base_];;/]
]
Горната програма написана с команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ class base ;docbases/classes.zzz]

#[ class ;/MyClass]

#[ remove method ;constructors/public/constructor;]
#[ remove method ;destructors/public/destructor;]

#[ base ;##[_class_base_]]
#[ get the base as a simple text ]
пример:
#[.=;_class_base_;docbases/classes.zzz]
#[.=;_object_base_;docbases/objects.zzz]

#[::>.;
	##[_class_base_];/MyClass;methods/public/test;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}]
]

5.2 Команди за управление на обекти

пример:
#[.=;_class_base_;docbases/classes.zzz]
#[.=;_object_base_;docbases/objects.zzz]

#[new-object;
	##[_class_base_];/MyClass;
	##[_object_base_];/MyObject;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}]
]
Горната програма написана с команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ class base ;docbases/classes.zzz]
#[ object base ;docbases/objects.zzz]

#[new-object;
	#[ class base ];/MyClass;
	#[ object base ];/MyObject;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}]
]
Извеждане на базата с класовете чрез команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ base ;docbases/classes.zzz]
#[ get the base as a simple text ]
пример:
#[.=;_class_base_;docbases/classes.zzz]
#[.=;_object_base_;docbases/objects.zzz]

#[:>.;
	##[_object_base_];/MyObject;methods/public/test;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}]
]
пример:
#[.=;_class_base_;docbases/classes.zzz]
#[.=;_object_base_;docbases/objects.zzz]

#[delete-object;
	##[_object_base_];/MyObject;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}]
]
Горната програма написана с команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ class base ;docbases/classes.zzz]
#[ object base ;docbases/objects.zzz]

#[delete-object;
	#[ object base ];/MyObject;
	[{OBJECTBASE};{OBJECTNAME};{CLASSBASE};{CLASSNAME}]
]
Извеждане на базата с класовете чрез команди за опростен достъп до базата реализирани в библиотеката: simplify.txt:
#[ base ;docbases/classes.zzz]
#[ get the base as a simple text ]

5.3 Команди за деклариране на ЗЗЗ++ програма

пример:
#[actualize-libs]