您的位置:首页 > 其它

设计原则

2016-02-29 00:00 218 查看
摘要: 后续会完善

一、面向对象分析和设计

1、伟大的软件的步骤:

1)确认你的软件做客户要它做的事。

2)运用基本的OO原则来增加软件的灵活性。

3)努力实现可维护、可重用的设计。

2、委托保护你的对象免受软件中其他对象实现改变的干扰。

3、每当你在两个或两个以上的地方找到共同行为时,小心地将该行为抽取到一个类里,然后以此共同类重用这项行为。

4、记住、你通常是因为行为有变化才创建子类。特征(属性)的变化是关系到封装。

5、当你有一组特性跨对象变化时,使用集合(collection),像Map,来动态存储那些特性。这样,你将从你的类中移除许多方法,并且在新特性被加入应用程序时避免改变你的程序代码。
6、具有内聚性的类,模块或者包善于处理好单一事情,但不会试着做其他事。
7、继承的替代方案:

委托:是将特定工作的责任委派给另一个类或方法。

组合:将来自其他多个类的行为集合起来,(相当与类的一个集合属性)。

当我们引用一整群的行为时,我们使用组合,

当你想要使用由接口所定义的行为,并且从该接口的种种实现中进行选择时,组合是最有威力的,不论是在编译期间还是在运行时。

组合让你使用来自一组其他类的行为,并且可以在运行时切换该行为。

在组合中,由其他行为所组成的对象拥有(own)那些行为。当对象被摧毁时,其所有行为也被摧毁。组合中的行为不存在于组合本身以外。

聚合:是当一个类被用作另一个类的一部分时,但仍然可以存在于该类之外,(相当于以参数形式传递进来)。

组合VS聚合:何时该使用组合,何时该使用聚合,是一件很容易让人困惑的事。把这件事弄清楚的最简单的方法即使问你自己:“这个我想使用其行为的对象存在于使用其行为的对象之外吗?”假如该对象(行为被使用的对象)确实独立存在,你应该使用聚合,假如不是的话,就选择组合。但是要小心!有时候,在对象使用中的轻微改变也会产生全然不同的结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: