zoukankan      html  css  js  c++  java
  • 三、类模型-应用设计原则和设计模式

    精雕细琢,设计良好的类与类关系

    【设计原则】

    无论项目开发流程用哪种模式,瀑布、迭代、螺旋、敏捷等。只要是面向对象设计,都应该应用设计原则以提高设计质量

    设计SOLID原则:

    1.设计原则有什么用?

        设计原则就像一把尺子,是衡量类设计的尺子。通过分析来判断设计的类是否符合设计原则的这5个标准,进而调整类的设计,达到设计良好的目的。

    2.为什么要用设计原则来衡量类设计的好坏?

        因为设计原则是为了保证类的可扩展性的,这也是面向对象设计的核心目的。

    POS机的例子:

        我们经过分析后,发现交易类直接依赖了“会员卡”、“购物卡”、“信用卡”、“现金”这四个子类,这样不符合DIP原则,如果要增加新的交易方式,那么“交易”类也要跟着修改。所以,我们增加了一个“支付”类作为这四个子类的父类,“交易”类依赖于支付类(多态的形式)。

    【设计模式】

    设计模式归根到底也是为了保证类的可扩展性的。

    设计模式和设计原则相互之间是互补的关系。

    设计原则用于指导“类的定义”的设计,设计模式用于指导“类的动作”的设计。也就是说,设计原则是类的静态设计原则,设计模式是类的动态设计原则。

    一般采用“先设计原则,后设计模式”的方式来操作。

    还是POS机的例子:

        通过分析我们发现“信用卡”这个类存在优化空间。“信用卡”有多个品牌,每个品牌的接入方式、协议、认证等都是不同的。为了封装这种差异,我们应用设计模式的Bridge模式,提取出“信用卡处理”类,这个类主要的职责是处理“连接”、“认证”、“扣款”这些职责。所有品牌的信用卡都继承"信用卡处理"类。

    【拆分辅助类】

       拆分辅助类指的是为了满足一个公司具体的开发框架或规范,进行必要的拆分。

        例如MVC模式,那么就需要把一些类按照MVC的规则进行拆分。JAVA的J2EE模式中,将对象分为PO、BO、VO、DTO等对象

  • 相关阅读:
    详解CSS中:nth-child的用法
    网站哀悼变灰代码集合 兼容所有浏览器的CSS变暗代码
    简单CSS3实现炫酷读者墙
    CSS常用浮出层的写法
    五种方法让CSS实现垂直居中
    网页前端开发:微博CSS3适用细节初探
    CSS代码实例:用CSS代码写出的各种形状图形
    10个CSS简写及优化技巧
    25个站长必备的SEO优化工具
    40个让你的网站屌到爆的jQuery插件
  • 原文地址:https://www.cnblogs.com/mysic/p/8452363.html
Copyright © 2011-2022 走看看