系统设计题
高级设计题1
这是一道设计题,为了方便理解,所有的需求均取自真实世界。
Frisk工厂可以生产许多不同类型的笔:如铅笔,钢笔和马克笔等
所有的笔可以写字,可以写到不同的载体上,如纸,玻璃
不是所有的笔都能往所有的载体上写字,如钢笔就无法把字写到玻璃上
有些载体上写的内容是可擦除的(取决于是用什么笔写的,例如马克笔写在玻璃上是可擦除的,但写在纸上是不可擦除的,而铅笔无论写在哪都可以擦除)
所有的载体可写入的内容总量都是有上限的,超过容量后再写入需要先擦除以前写的内容
每支笔都是消耗品,每次使用都会减少耐久度,不同的笔往不同的载体上写字会导致不同程度的损耗
笔的耐久度为0后将无法再使用,此时会被工厂进行回收
根据你对以上需求的理解,给出你的代码架构设计,表达形式不限(建议使用UML或伪代码),要求
架构尽可能优雅,并且不做过度设计
尽可能准确、简洁地定义每一个概念
最后更新于