|
| 1 | +# Final Assignment of Library Management Project using Design pattern |
| 2 | +As part of this assignment, students are requested to use at least one design pattern from each section learnt from this course. |
| 3 | + |
| 4 | +### Course link: |
| 5 | +https://www.packtpub.com/application-development/learn-design-patterns-java-9-video |
| 6 | + |
| 7 | +### Requirements: |
| 8 | +Library Management Software is "Menu driver" program which can use standard input and output (terminal) to operate. |
| 9 | + |
| 10 | +* Inventory management of books. ( listing / add / remove books in library ) |
| 11 | +* Crud operation for members of library. (add/remove/edit members) |
| 12 | +* Assign books to library member. |
| 13 | +* Validation - Do not allow duplicate assignment. |
| 14 | +* Fine calculator for late submissions of books. |
| 15 | +* Wish list of books for a member. |
| 16 | + |
| 17 | +### Helpful tips to implement Design pattern: |
| 18 | +Design classes and objects keeping different design patterns in mind: |
| 19 | +* Creational design pattern to create and add objects (books/members) in system. |
| 20 | +* Structural design pattern to establish relationship between objects and classes |
| 21 | + Eg. Proxy books to save loading time |
| 22 | +* Behavioral while establishing communication between components |
| 23 | + Eg. Observer for wish list component. |
| 24 | +* Write Dry code ( Do not repeat yourself - have reusable components) |
| 25 | +* Write Loosely coupled and cohesive classes |
| 26 | +* Please Program against interface. |
| 27 | + |
| 28 | +### Persistence Layer: |
| 29 | +Use database of your choice but try to avoid DB dependency and use Java collections with some seed data (call in init block). |
| 30 | + |
| 31 | +### Authors blog on design patterns: |
| 32 | +https://premaseem.wordpress.com/category/computers/design-patterns/ |
| 33 | + |
| 34 | +### Note: |
| 35 | +* Please raise the pull request in https://github.com/premaseem/DesignPatternsJava9 as a separate branch from your fork. |
| 36 | +* Feel free to discuss your idea in Software Design pattern community page https://www.facebook.com/DesignPatternGuru |
0 commit comments