开放封闭原则(OCP:OPEN-CLOSE-PRINCIPLE)
定义:对扩展开放,对修改封闭。
对修改封闭
为了避免修改一个方法,一般的设计原则是传参避免是基本类型。
1. //定义1
2. bool Connect(string userName, string password, string ftpAddress, int port);
3. //定义2
4. bool Connect(Account account);
5. public class Account
6. {
7. public string UserName { get; set; }
8. public string Password { get; set; }
9. public string FtpAddress { get; set; }
10. public string int Port { get; set; }
11. }
定义1:当connect这个方法需要再传一个参数时,就不得不修改这个方法的传参。而定义2我们只需要在Account类中新增一个变量即可。
对扩展开放
对扩展开放的关键是抽象,而抽象的关键是多态。
实现多态的三个基本条件:
- 继承
- 重写
- 父类引用指向子类对象