Sprint 7 - Challenge 1
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Bắt đầu bằng cách ánh xạ các kiểu PCComponent bắt buộc, các triển khai PCComponentFactory, trình dựng PC và menu console vào các lớp riêng biệt. Kiểm tra từng mục trong đặc tả, bao gồm lựa chọn thành phần, các factory theo chủ đề, tùy chỉnh, định giá, thông số kỹ thuật, thời gian giao hàng và các yêu cầu PR gửi bài; hoàn thành nghĩa là toàn bộ ứng dụng hỗ trợ mọi tùy chọn menu được liệt kê.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Sprint Challenge 1
Overview
The code you write for this challenge is mandatory homework and should be completed and sent in a PR for review before class.
Build a computer store application that allows customers to configure and purchase custom computers.
Specification
Java application with a console-based menu system:
-
User options:
- Build Custom PC (choose components manually)
- Select processor (budget/performance/enthusiast)
- Select graphics card (integrated/gaming/professional)
- Select memory (8GB/16GB/32GB)
- Select storage (HDD/SSD/NVMe)
- Customize options (case color, warranty, RGB)
- Quick Build - Budget PC
- Use appropriate factory
- Quick Build - Gaming PC
- Use appropriate factory
- Quick Build - Workstation PC
- Use appropriate factory
- View Available Components
- Exit
- Build Custom PC (choose components manually)
-
After building, display:
- Complete specifications
- Total price
- Estimated delivery time
Developer Guidance
- Create a PCComponent interface with methods:
String getName()double getPrice()String getSpecifications()ComponentType getType()(enum: PROCESSOR, GRAPHICS_CARD, MEMORY, STORAGE)- Create implementations: Processor, GraphicsCard, Memory, Storage
- With static factory methods for:
- Processor:
budget(),midRange(),performance() - GraphicsCard:
integrated(),gaming(),professional() - Memory:
standard8GB(),standard16GB(),performance32GB() - Storage:
hdd1TB(),ssd512GB(),nvme1TB()
- Processor:
- Create an abstract factory interface for creating complete component families - each factory should coordinate components that work well together for their purpose
interface PCComponentFactoryProcessor createProcessor()GraphicsCard createGraphicsCard()Memory createMemory()Storage createStorage()String getThemeName()String getDescription()
- Implement three themed factories:
BudgetPCFactory(£500-700)- Budget processor
- Integrated graphics
- 8GB memory
- HDD storage
GamingPCFactory(£1200-1500)- Performance processor
- Gaming graphics card
- 16GB memory
- NVMe storage
WorkstationPCFactory(£2000-2500)- Enthusiast processor
- Professional graphics card
- 32GB memory
- NVMe storage
- Create a PC class that uses a builder pattern to create instances,
- with fields:
- Processor (required)
- Graphics Card (required)
- Memory (required)
- Storage (required)
- Case colour (optional, default: "Black")
- Warranty years (optional, default: 1)
- And methods:
double getTotalPrice(sums price of components)String getDetailedSpecs(returns a nicely formatted string of the component parts → you can also just use an overridden toString here if preferred)
- with fields:
Submission & Review
Fork the coursework repo to your own GitHub account.
Make regular small commits with clear messages.
When you are ready, open a Pull Request to the CYF repo. Make sure you fill in the PR template provided.
A volunteer will review your submission and send you feedback.
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 1
- Fork
- 11
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của CodeYourFuture/Module-Java
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐇 Size Small 📅 Sprint 1 Core
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐇 Size Small 📅 Sprint 1 Core
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
Sprint 7 - Sprint Challenge 2 Đang mở🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐂 Size Medium 📅 Sprint 7 Core
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
Sprint 6 Challenge Đang mở🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 📅 Sprint 6 🦑 Size Large Core
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐂 Size Medium 📅 Sprint 5 Core
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Tất cả issue của CodeYourFuture/Module-Java
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
manaflow-ai/cmux#13763 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
wireguard-wp unbalanced "-RunAs" Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
ScoopInstaller/Nonportable#639 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
hykilpikonna/hyfetch#545 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100