面对业务需求(功能)怎么定义(划分)出类?

面对业务需求(功能)如何定义(划分)出类????
在面对一个功能时该如何进行设计,如何定义类???

最近看一些设计类的书,看到设计原则方面,里面用对比的方式,将好的设计和差的设计之间的差别,但是我突然发现自己对这些类的定义规则都很模糊,所以来问问!!

推荐一些这方面的书也行,谢谢了!!!




另外,感觉学这个设计很难啊,书本上一个差的设计只要两个类,而那个好的设计却7、8个类(接口),当然,这儿不讨论该不该,我只想了解这么多的类怎么规划,按功能放在不同的文件夹里还是按文件类型放不同的文件夹里,例如接口放一起,设计出的功能类放一起。

其实,我觉得按照上面两种都可以,如果如果比较庞大、复杂的话肯定少不了设计类图吧,在维护的是有应该主要是以设计图(UML)为主吧??

------解决方案--------------------
下围棋时,要下好就得多看棋谱,所以要设计好就得先看懂看透别人的设计,附给你一个我头两天回帖用的类图,(人家对这图理都不理,觉得没用,唉)
------解决方案--------------------
探讨
另外,感觉学这个设计很难啊,书本上一个差的设计只要两个类,而那个好的设计却7、8个类(接口),当然,这儿不讨论该不该,我只想了解这么多的类怎么规划,按功能放在不同的文件夹里还是按文件类型放不同的文件夹里,例如接口放一起,设计出的功能类放一起。

------解决方案--------------------
定义类其实很简单:
1.定义属性,property;
2.定义方法,sub或function,但sub new()是必须的;
3.需要用的结构式,定义自定义结构,structure;
4.需要实现事件是,定义事件,event;
5.如果需要子类,再private 子class即可;
最后构造一个实例类即可使用该类了。