1 / 35

Advanced Programming

Advanced Programming. Rabie A. Ramadan Rabie@rabieramadan.org 7. JAVA Naming and Directory Interface (JNDI) http:// java.sun.com /products/ jndi /tutorial/ Java Design Patterns . Topics to be Covered .

niles
Download Presentation

Advanced Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Programming Rabie A. Ramadan Rabie@rabieramadan.org 7

  2. JAVA Naming and Directory Interface (JNDI)http://java.sun.com/products/jndi/tutorial/ Java Design Patterns Topics to be Covered

  3. A naming serviceassociates names with objects. Thus, you can look up an object by its name. A directory service associates names and attributes with objects. Thus, you not only can look up an object by its name but also get the object's attributes or search for the object based on its attributes. Common Naming/directory services: DNS RMI Registry CORBA naming service Lightweight Directory Access Protocol (LDAP) OS File system. Windows registry Windows Active Directory JNDI provides a unified approach (API) to access any naming/directory service. JAVA Naming and Directory Interface (JNDI)

  4. JNDI is an Application Programming Interface (API) that provides naming and directory functionality to JAVA applications. It is defined to be independent of any specific directory service implementation. Thus a variety of directories--new, emerging, and already deployed--can be accessed in a common way. Java 2 SDK, v1.3 already includes the JNDI classes. More service providers can be implemented or downloaded from Sun’s website. JNDI Overview

  5. Context The javax.naming package defines a Context interface, which is the core interface for looking up, binding/unbinding, renaming objects and creating and destroying subcontexts. The most commonly used operation is lookup(). You supply lookup() the name of the object you want to look up, and it returns the object bound to that name. Printer printer = (Printer)ctx.lookup("treekiller"); printer.print(report); Javax.naming package:

  6. Java Design Patterns

  7. Design Patterns have two main usages in software development: Common platform for developers Design patterns provide a standard terminology and are specific to particular scenario For example, a singleton design pattern signifies use of single object so all developers familiar with single design pattern will make use of single object and they can tell each other that program is following a singleton pattern. Best Practices Design patterns have been evolved over a long period of time and they provide best solutions to certain problems faced during software development. Java Design Patterns

  8. there are 23 design patternsin three different categories : Creational Patterns A way to create objects while hiding the creation logic, rather than instantiating objects directly using new operator. Structural Patterns concern class and object composition. Concept of inheritance is used to compose interfaces and define ways to compose objects to obtain new functionalities. Types of Design Pattern

  9. Behavioral Patterns These design patterns are specifically concerned with communication between objects. Types of Design Pattern

  10. Comes under creational pattern as this pattern provides one of the best ways to create an object Implementation - Create a Shapeinterface and concrete classes implementing the Shape interface. - A factory class ShapeFactoryis defined as a next step. - FactoryPatternDemo, our demo class will use ShapeFactoryto get a Shape object. It will pass information (CIRCLE / RECTANGLE / SQUARE) to ShapeFactoryto get the type of object it needs. Factory Pattern

  11. Factory Pattern- Class Diagram

  12. Step 1: Create an interface. Factory Pattern- Implementation

  13. Step 2: Create concrete classes implementing the same interface. Factory Pattern- Implementation

  14. Factory Pattern- Implementation

  15. Step 3 : Create a Factory to generate object of concrete class based on given information. Factory Pattern- Implementation

  16. Step 4: Use the Factory to get object of concrete class by passing an information such as type. Factory Pattern- Implementation

  17. Step 5: Verify the output. Factory Pattern- Implementation

  18. Creational pattern as this pattern provides one of the best way to create an object. Involves a single class which is responsible to create its own object while making sure that only single object get created. Singleton Design Pattern

  19. Implementation SingleObjectclass have its constructor as private and have a static instance of itself. SingleObjectclass provides a static method to get its static instance to outside world Singleton Design Pattern

  20. Step 1: Create a Singleton Class Singleton Design Pattern

  21. Step 2: Get the only object from the singleton class. Singleton Design Pattern

  22. Step 3: Verify the output Singleton Design Pattern

  23. Comes under creational pattern Creating duplicate object while keeping performance in mind. Involves implementing a prototype interface which tells to create a clone of the current object. This pattern is used when creation of object directly is costly. Prototype Design Pattern

  24. Implementation Create an abstract class Shapeand concrete classes extending the Shape class. A class ShapeCacheis defined as a next step which stores shape objects in a Hashtableand returns their clone when requested. PrototypPatternDemo, our demo class will use ShapeCacheclass to get a Shape object. Prototype Design Pattern

  25. Class Diagram Prototype Design Pattern

  26. Step 1: Create an abstract class implementing Clonableinterface. Prototype Design Pattern

  27. Step 2: Create concrete classes extending the above class. }} Prototype Design Pattern

  28. Prototype Design Pattern

  29. Prototype Design Pattern

  30. Step 3: Create a class to get concrete classes from database and store them in a Hashtable. Prototype Design Pattern

  31. Prototype Design Pattern

  32. Step 4: PrototypePatternDemouses ShapeCacheclass to get clones of shapes stored in a Hashtable. Prototype Design Pattern

  33. Step 5: Verify the output. Prototype Design Pattern

More Related