被问了三次, 如何设计一个系统. 但是作为一个应届生(而且还是没实习经验的). 这种问题真的回答不出. 如此我就在想, 考官想问什么?
一) 学生的代码没有package的概念.
二) 学生之间的分工合作是乱分配的.
一) package
其实这个问题, 就可以转换成, Java是怎么样构建package. 什么class能在一起组成一个package.
应用下来的一层一般来说就是功能层. 也就是根据功能划分模块.
参考:jfinal,druid
而接下来的分层, 根据软件的性质,选择适当的架构模型.
如果是web开发的话, 常用的就是MVC+DAO
参考:jeesite
扩展: 能否按照实体来划分模块?
在我看来, 系统如果是面对一类人的话, 就不需要在功能层上面添加一个类别. 至于究竟需不需要这一层, 我认为是根据代码重用率, 如果重用率高, 就不需要. 管理者与用户的功能相差太大了, 所以需要分.
2)任务分配
以前在网上看到, 上司编写interface并交付给手下, 手下进行实现, 这种过程分配.
3)配置文档划分
让xml文档根据模块划分,好维护
pom.xml文档功能
参考 : http://juvenshun.iteye.com/blog/305865
我印象中, 不少xml文档都可以有父子关系.