Skip to content

Latest commit

 

History

History
36 lines (29 loc) · 1.8 KB

Final_assignment.md

File metadata and controls

36 lines (29 loc) · 1.8 KB

Final Assignment of Library Management Project using Design pattern

As part of this assignment, students are requested to use at least one design pattern from each section learnt from this course.

Course link:

https://www.packtpub.com/application-development/learn-design-patterns-java-9-video

Requirements:

Library Management Software is "Menu driver" program which can use standard input and output (terminal) to operate.

  • Inventory management of books. ( listing / add / remove books in library )
  • Crud operation for members of library. (add/remove/edit members)
  • Assign books to library member.
  • Validation - Do not allow duplicate assignment.
  • Fine calculator for late submissions of books.
  • Wish list of books for a member.

Helpful tips to implement Design pattern:

Design classes and objects keeping different design patterns in mind:

  • Creational design pattern to create and add objects (books/members) in system.
  • Structural design pattern to establish relationship between objects and classes Eg. Proxy books to save loading time
  • Behavioral while establishing communication between components Eg. Observer for wish list component.
  • Write Dry code ( Do not repeat yourself - have reusable components)
  • Write Loosely coupled and cohesive classes
  • Please Program against interface.

Persistence Layer:

Use database of your choice but try to avoid DB dependency and use Java collections with some seed data (call in init block).

Authors blog on design patterns:

https://premaseem.wordpress.com/category/computers/design-patterns/

Note: