неділя, 22 березня 2020 р.

Коротко про MongoDb (noSQL)


MongoDb  - документоорієнтована нереляційна база даних. Якщо реляційні бази даних зберігають дані у вигляді взаємопов’язаних таблиць, то MongoDb зберігає дані у вигляді документів/об‘єктів у спеціальному JSON форматі. Наприклад один документ про особу може виглядати так:

{   
    "_id" : ObjectId("15"),
    "name" : "Mike",
    "age" : 45,
    "email" :
     "newem@ukr.net"
}

четвер, 13 лютого 2020 р.

Adapter pattern

Вирізка із книги "GoF Design Patterns - with examples using Java and UML2" by: Benneth Christiansson (Ed.) Mattias Forss, Ivar Hagen, Kent Hansson, Johan Jonasson, Mattias Jonasson, Fredrik Lott, Sara Olsson, and Thomas Rosevall. License: Creative Commons Attribution-ShareAlike 3.0 License.

Визначення

Патерн адаптер(Adapter) або ж обгортка (Wrapper) використовується для трансляції інтерфейсу одного класу в інтерфейс іншого. Це означає, що ми можемо зробити так, щоб класи працювали разом, хоча вони мають несумісні інтерфейси. Клас адаптер використовує множинне успадкування (розширяючи один клас і/або реалізуючи один або більше класів), щоб адаптувати один інтерфейс до іншого. Об’єкт адаптер покладається на агрегацію об’єктів.

Де використовується
  • Коли ви хочети використовувати існуючий клас, але його інтерфейс не зіставляється з тим який вам потрібен
  • Коли ви хочете створити повторно використовуваний клас, що взаємодії з непов’язаними або невідомими наперед класами, що є класами, що необов’язково мають сумісний інтерфейс.
  • Коли ви хочете збільшити прозорість класів
  • Коли ви хочете створити вбудовуваний набір.

вівторок, 27 листопада 2018 р.

JAXB: розпаковування та генерування XML документів

JAXB (Java Architecture for XML Binding) дозволяє швидко розпакувати (unmarshall) xml файл у об’єкти та згенерувати/запакувати (marshall) xml із об’єкту. JAXB використовується, зокрема, при розробці RESTtful Веб-сервісів, коли необхідно швидко згенерувати xml у якості відповіді клієнту або розпакувати із http запиту.
Для прикладу є простий XML документ:
<?xml version="1.0" encoding="UTF-8"?>
<Data>
 <id>1</id>
 <name>Галина Мер</name>
 <mobile>+380970000001</mobile>
</Data>

Для того, щоб розпакувати наш xml об'єкт нам потрібен клас із відповідною анотацією.