1. Techno71 Gadget Factory
(Using Factory Design Pattern)
Presented by
Amit Chowdhury (CS-2001047)
Md. Alve Alam Authi (CS-2001051)
Jahirul Amin Fahim (CS-2001054)
2. Table of Contents
• Objectives
• Background Study
• Methodology
• Implementation
• Conclusion
3. Objectives
1. To develop a user-friendly interface for ordering electronic devices.
2. To allow customers to customize the specifications of their chosen
devices.
3. To implement a factory method design pattern for creating different
types of gadgets.
4. To provide a seamless shopping experience for tech-savvy
individuals in Bangladesh.
4. Background Study
In Bangladesh, the market for electronic gadgets is expanding rapidly,
driven by factors such as increasing disposable income, rising internet
penetration, and growing consumer awareness. However, the process
of purchasing gadgets can often be cumbersome and time-consuming,
especially when it comes to customizing specifications according to
individual preferences. To address this challenge, the Techno71 Gadget
Factory project aims to provide a solution that simplifies the ordering
process and offers a wide range of customizable options for customers.
6. Implementation (Code)
from abc import ABC, abstractmethod
class Device(ABC):
@abstractmethod
def assemble(self, specifications):
pass
class Smartphone(Device):
def assemble(self, specifications):
print("Assembling Smartphone with
specifications:")
for key, value in specifications.items():
print(f"{key}: {value}")
class Camera(Device):
def assemble(self, specifications):
print("Assembling Camera with
specifications:")
for key, value in specifications.items():
print(f"{key}: {value}")
class Laptop(Device):
def assemble(self, specifications):
print("Assembling Laptop with
specifications:")
for key, value in specifications.items():
print(f"{key}: {value}")
class Desktop(Device):
def assemble(self, specifications):
print("Assembling Desktop with specifications:")
for key, value in specifications.items():
print(f"{key}: {value}")
class Monitor(Device):
def assemble(self, specifications):
print("Assembling Monitor with specifications:")
for key, value in specifications.items():
print(f"{key}: {value}")
class DeviceFactory(ABC):
@abstractmethod
def create_device(self):
pass
class SmartphoneFactory(DeviceFactory):
def create_device(self):
return Smartphone()
class CameraFactory(DeviceFactory):
def create_device(self):
return Camera()
11. Conclusion
The Techno71 Gadget Factory project aims to revolutionize the way
electronic devices are ordered and customized in Bangladesh. By
providing a user-friendly interface and implementing the factory
method design pattern, the project offers a seamless shopping
experience for tech-savvy individuals.