Tuesday, December 1, 2015

Design Chess - 象棋设计题



http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=115514&extra=page%3D1%26filter%3Dtypeid%26typeid%3D200%26typeid%3D200
感觉这个OOD也不是特别难,
主要是你想想你面对的这个问题,
名词对应class,比如说棋盘是一个class,棋子是class,
但是不同的棋子有不同的行为,这就是继承与多态了。

然后还可以再说说设计模式,最常用的就是MVC, model -view - controller
Game的logic是一个class,然后你怎么有屏幕上画图是view.
这两者还要结合起来。

具体我觉得应用以下design pattern可以解决:strategy, template, (singleton)。即可,并不属于非常难的问题。但如果做题同时没有将动作变为借口并针对编程可能会遇到些问题。
MVC的考察主要还是在system design,毕竟mvc本身就是一个ood,包含最少四种pattern。。。。

Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts