Singleton Pattern

1. Definition. Singleton Pattern makes sure that a class only have one instance and provide a global point of access to it. It also belongs to Creation Pattern Group. Singleton Pattern should be used where we only need one of: Thread pools, caches, dialog boxes, object that handle preferences and registry settings, objects used of… Read More »

Observer Pattern

Observer Pattern defines a one-to-many relationship between a set of objects. When the state of one object changes, all of its dependents are notified/updated automatically. It also belongs to Behavior pattern group. 1. A customized notification system. Several newspaper agencies like CNN, NYTime, BBC are subscribed to a feed of new tweets and may want… Read More »

Hibernate cache in theory

The note will follow: 1. Introduction. Hibernate has a two-level cache architecture: first-level cache and second-level cache. Figure 1: Hibernate’s two levels cache (source: Manning) The first-level cache is the persistence context cache (scope of Session). The cache ensures that when the application requests the same persistent object twice in a particular session, it gets back… Read More »

Advantages and Disadvantages of Microservices

To begin with an interesting question, is a microservice architecture a good choice for the system you’re working on? Basically, micro-service often deals with large team, multi-tenancy, supporting many user interaction models, allowing different business functions to evolve independently, and scaling. However, the best answer is it depends on complexity and productivity. If a system… Read More »

Liquibase notes

1. Generate Change Logs from an existing database Generate change logs from an existing database. For instance, copy postgresSQL driver to %LINQUIBASE_HOME%/postgresql-8.3-603.jdbc3.jar. Run a following line command in console (single line). If successful, liquibase will show a message “Liquibase ‘generateChangeLog’ Successful” 2. Check a table already presents Using preCondition tag which follows some form of… Read More »

Model Mapper for data response

1. Fund Adaptor Suppose that Fund Adaptor executes a service to search the response data- a monthly or daily (depending on the schedule). This example is to show how the customer details response data is mapped. There are two data transfer objects (DTO) namely CustomerDTO (maybe to present in UI) and CustomerSvcDTO (from executing store procedures… Read More »