Sunday, April 26, 2015

INTRO

1. TECHNOLOGIES
      1. JAVA
      2.DATABASE
      3.DESIGN PATTERNS
      4.DATA STRUCTURE AND ALGORITHM
2.FRAMEWORKS
       1. SPRING - MVC CORE SECURITY AND BOOT  
       2.MAVEN
       3.HIBERNATE

8.PUZZLES 




1.CONCEPT 
2. INTERVIEW QUESTIONS RELATED TO CONCEPT AND ITS ANSWERS
3.PROGRAM RELATED TO IT AND SOLUTIONS
4.SAMPLE PROJECTS RELATED TO CONCEPT 




Abstraction in java

Abstraction
Abstraction is the technique of hiding implementation. At it's core there's not much more to that answer. The bulk of meaning to abstraction come from how and why it is used.
It is used for the following scenarios
  • Reduce complexity. (Create a simple interface)
  • Allow for implementation to be modified without impacting its users.
  • Create a common interface to support polymorphism (treating all implementations of the abstracted layer the same.
  • Force users to extend the implementation rather than modify.
  • Support cross platform by changing the implementation per platform.

Quite simply, abstraction is the art of limiting your dependencies. The less you depend on, the more abstract you are.

Abstraction is the ability to work with the high-level concept while ignoring low-level details

Abstraction is "To represent the essential feature without representing the back ground details."

Its a concept of defining an idea in terms of classes or interface 

Encapsulation 

Encapsulation is nothing but protecting anything which is prone to change. rational behind encapsulation is that if any functionality which is well encapsulated in code i.e maintained in just one place and not scattered around code is easy to change. 



Important points about encapsulation in Java.

1. "Whatever changes encapsulate it" is a famous design principle.
2. Encapsulation helps in loose coupling and high cohesion of code.
3. Encapsulation in Java is achieved using access modifier private, protected and public.
4. Factory pattern , Singleton pattern in Java makes good use of Encapsulation.