美文网首页
Architect Design

Architect Design

作者: Drew_MyINTYRE | 来源:发表于2020-10-22 19:46 被阅读0次

    Design-》Architect

    • SRP 单一职责原则

    类、方法只干一件事。

    • OCP 开放封闭原则

    一个类应该对扩展开放,对修改关闭:
    如果你需要一些额外功能,你应该扩展这个类而不是修改它,如果你需要一些额外功能,你应该扩展这个类而不是修改它。

    • LSP 里氏替换原则

    父类最好为抽象类
    子类可实现父类的非抽象方法,尽量不要覆盖重写已实现的方法
    子类可写自身的方法,有自身的特性,在父类的基础上扩建
    子类覆盖重写父类方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松,后置条件(返回值)要更严格

    • ISP 接口隔离原则

    一个接口应该拥有尽可能少的行为,它是精简的,也是单一的
    客户端不应该依赖它所不需要的接口

    • DIP 依赖倒置原则

    高级模块不应该依赖低级模块,两者都应该依赖抽象
    抽象不应该依赖于细节,细节应该依赖于抽象

    public class UserManager//高层模块
    {
    
        //我们会在一个类(高层模块)的内部实例化它依赖的对象(低层模块),
    //这样势必造成两者的紧耦合,任何依赖对象的改变都将引起类的改变。
        public void ChangePassword(string username,string oldpwd,string newpwd)
        {
            EmailNotifier notifier = new EmailNotifier();//低层模块
    
            //add some logic and change password 
            //Notify the user
            notifier.Notify("Password was changed on "+DateTime.Now);
        }
    }
    

    我们经常说的“高内聚 松耦合”究竟什么是高内聚,什么是松耦合?

    • 高内聚:相近功能放在同一类中,相近功能往往会被同时修改,放到同一个类中在修改时,代码更易维护(指导类本身的设计)

    • 松耦合:类与类之间的依赖关系简单清晰,一个类的代码改动不会或者很少导致依赖类的代码修改(指导类间依赖关系设计)

    相关文章

      网友评论

          本文标题:Architect Design

          本文链接:https://www.haomeiwen.com/subject/yaupmktx.html