如果让你写一个只有几百行代码的程序,你不用设计很快就能写出来.
但如果让你编写一个几w行,几10w行代码程序,你又如何做呢?
程序员的水平,也许只有通过大问题,大项目的考验才能见高低.
以下是用面向对象的角度,分析如果解决大问题(大项目)
1. 和客户充分交流,分析出他们真正想要什么样的系统。未来的系统,像什么(如:CRM, HR),不像什么(ERP)。
2. 将用户需要的功能,用普通的用户能理解的语言写出来(以便于将来确认),形成基本的URS
3. 根据2中的要求,建立系统的蓝图(blueprint),通常使用UML的use case diagram
4. 其实大问题都是由很多个小问题组成的。所谓罗马帝国不是一日建成的。将系统分解得到容易理解,容易现实的小问题(模块,类,接口,页面...)
5. 套用OO设计模式,将小问题(模块,类,接口,页面...)组织起来。
6. 套用OO设计原则,用代码现实各个模块中的细节。
大问题得到解决。