/spreadsheet

spreadsheet console app

Primary LanguageC#MIT LicenseMIT

SpreadSheet笔试题

设计**

SpreadSheet的封装

抽象出SpreadSheet用来表示Sheet表格本身,表格中的每一个单元格表示为SpreadSheetCell,其中使用结构体CellPoint来表示单元格的坐标。 使用二维数组存储SpreadSheet表格数值,并对构造器进行私有化(原因: 统一创建SpreadSheet的入口),提供两个创建SpreadSheet的方法。其中一个方法提供了创建空的SpreadSheet,一个重载方法提供了对创建的SpreadSheet的cell表格的赋值。

扩展

如果需要对SpreadSheet扩展,则可以抽象出ISheet接口,应对后期各种Sheet的扩展。

对指令的封装

抽象出ICommandParser对指令的解析,通过客户的的输入解析出相应的命令。并通过命令实现对SpreadSheet创建插入值修改值的操作。

扩展

当前使用简单工厂模式实现ICommandParser,如果考虑到扩展性,可以考虑使用反射的方式实现ICommandParser。命令的名称可以通过XCommand来命令,通过这样的方式,可以更方便的实现对SpreadSheet的操作的扩展。