美文网首页
软件设计总览

软件设计总览

作者: jacky123 | 来源:发表于2016-06-13 09:48 被阅读57次

    看懂uml图

    • 车的类图结构为<<abstract>>,表示车是一个抽象类;
    • 它有两个继承类:小汽车和自行车;它们之间的关系为实现关系,使用带空心箭头的虚线表示;
    • 小汽车为与SUV之间也是继承关系,它们之间的关系为泛化关系,使用带空心箭头的实线表示;
    • 小汽车与发动机之间是组合关系,使用带实心箭头的实线表示;
    • 学生与班级之间是聚合关系,使用带空心箭头的实线表示;
    • 学生与身份证之间为关联关系,使用一根实线表示;
    • 学生上学需要用到自行车,与自行车是一种依赖关系,使用带箭头的虚线表示;

    面向对象的六大设计原则

    1. 单一责任原则(SRP):
      两个完全不一样的功能不应该放在同一个类中
    2. 开闭原则(OCP):软件中的对象对于扩展应该是开放的,对于修改是封闭的。
      重要手段:通过抽象实现
    3. 里氏替换原则:抽象
    4. 依赖倒置原则:
      模块间的依赖应该通过抽象发生,实现类之间不发生直接的依赖关系。
    5. 接口隔离原则:类间的依赖关系应该建立在最小的接口上。目的是系统解开耦合,从而容易重构 更改 重新部署
    6. 迪米特原则:最少知识原则
    //将图片保存在本地
    public void put(String url, Bitmap bmp) {
        OutputStream fileOutputStream = null;
        try {
            fileOutputStream = new FileOutputStream(cacheDir + url);
            bmp.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            CloseUtils.closeQuietly(fileOutputStream);
        }
    }
    public final class CloseUtils {
        public static void closeQuietly(Closeable closeable) {
            if (null != closeable) {
                try {
                    closeable.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

    参考资料

    相关文章

      网友评论

          本文标题:软件设计总览

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