Posts

Showing posts with the label WordPress

Design Patterns

In software Engineering, a software design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. Behavioral Design Patterns Command Pattern Chain Responsibility Pattern Iterator Pattern Interpreter Pattern State Pattern Strategy Pattern Null Object Pattern Observer Pattern Visitor Pattern Template Method Pattern Memento Pattern Creational Design Patterns Factory Method Pattern Singleton Pattern Abstract Factory Pattern Builder Pattern Prototype Pattern Object Pool Pattern Structural Design Patterns Adapter Pattern Bridge Pattern Composite Pattern Decorator Pattern Facade Pattern Flyweight Pattern Proxy Pattern Private Class Data Pattern J2EE Design Patterns Benefits of Design Patterns: Provides industry standard approach to solve a recurring problem. Promotes reusability that leads to more robust and highly maintainable code. Helps in reducing total cost of owne...

Spring, Hibernate, Spring Boot

Spring Framework: Spring is lightweight framework. It can be thought of framework of frameworks because it provides support to various frameworks Hibernate , JSF , EJB etc. Several modules the spring framework contains are IOC, AOP, DAO, Context, MVC, ORM, web. Advantages of Spring: Predefined Templates Loose Coupling Easy to test Lightweight Fast Development Powerful Abstraction Declarative Support Hibernate Framework: Hibernate framework simplifies the development of java application to interact with the database. It is lightweight, opensource, ORM tool. Advantages of Hibernate: Opensource and lightweight Fast Performance Database Independent Query Automatic Table Creation Simplifies Complex Joins Provides Query statistics and Database Status

Messaging Tools used

HornetQ: ActivemQ: have client apis for the most common languages(C++, Java, python, PHP, .Net, Ruby..) have strong documentation are actively supported Artemis: RabbitmQ: It is one of the leading implementation of AMQP protocol. It implements a broker architecture, meaning that messages are queued on a central node before sent to clients. This approach makes Rabbitmq very easy to use and deploy, because advanced scenarios like routing, load balancing and persistent message queuing are supported in just few lines of code. However it makes it less scalable and slower because central node adds latency and message envelops are quite big. ZeromQ:

Code Review

Code review is systemic examination of computer source code. It is intended to find mistakes overlooked in the initial development phase, improving the overall quality of software. Review are done in various forms such as pair programming, informal walkthroughs and formal inspections. Types: over-the-shoulder pair programming email pass-around tool assisted code review

Java Best practices

in28minutes Java Best practices