https://github.com/samyam81/prototype_design
This Kotlin project demonstrates a basic implementation of a bookshop system, including functionalities for managing books, loading data, removing books, and creating copies of bookshops.
https://github.com/samyam81/prototype_design
java kotlin prototype prototype-pattern
Last synced: 3 months ago
JSON representation
This Kotlin project demonstrates a basic implementation of a bookshop system, including functionalities for managing books, loading data, removing books, and creating copies of bookshops.
- Host: GitHub
- URL: https://github.com/samyam81/prototype_design
- Owner: samyam81
- Created: 2024-01-23T07:37:45.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-20T06:54:10.000Z (over 1 year ago)
- Last Synced: 2025-01-27T09:14:28.718Z (12 months ago)
- Topics: java, kotlin, prototype, prototype-pattern
- Language: Java
- Homepage:
- Size: 9.77 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
**Readme File: Prototype Bookshop**
---
**Description:**
This project demonstrates a simple implementation of a bookshop system using Kotlin. It includes classes for managing books and bookshops, with functionality for loading data, removing books, and creating copies of bookshops.
---
**Files:**
1. **Book.kt:** Defines the `Book` class representing individual books in the bookshop.
2. **Bookshop.kt:** Defines the `Bookshop` class representing the bookshop entity, including methods for loading data, removing books, creating copies, and overriding `toString()` for easy printing.
3. **Main.kt:** Contains the `main()` function demonstrating the usage of the `Bookshop` class and its functionalities.
---
**Usage:**
1. Clone or download the project files.
2. Open the project in a Kotlin-compatible IDE or text editor.
3. Compile and run the `Main.kt` file to see the demonstration of the bookshop system.
---
**Functionality:**
- **Load Data:** The `loadData()` function populates the bookshop with a set of sample books.
- **Remove Book:** The `removeBook(index: Int)` function allows the removal of a book from the bookshop based on its index.
- **Copy Bookshop:** The `copy()` function creates a deep copy of the bookshop, including all books.
---
**Example:**
```
val bs = Bookshop()
bs.shopname = "Ross_Taylor"
bs.loadData()
println(bs)
val bs1 = bs.copy()
bs.removeBook(2)
bs1.shopname = "Kane_Williamson"
println(bs1)
```
This example creates a bookshop, loads data, prints its contents, creates a copy of the bookshop, removes a book from the original bookshop, updates the copied bookshop's name, and prints the copied bookshop.
---
**Author:**
Samyam.81
---
Feel free to modify and extend this project as needed for your own purposes!
---
**Note:** Ensure you have Kotlin installed on your system to run the project. If not, refer to the Kotlin documentation for installation instructions.