zoukankan      html  css  js  c++  java
  • 类与类之间的隔离不要与陌生人说话。

    根据我的理解,要降低类之间的耦合,那么应该尽量让他们之间不要直接打交道。
    或者正确的说,两个分工很明确的类,应该各自管理自己的东西,而不要去“打听”其他类的东西。
    举个例子:
    需求是这样的:
    当一个类更新了数据后,需要发送邮件通知相关人员。
    代码一:

    public DataAccess()
            
    {
                
    //
                
    // TODO: 在此处添加构造函数逻辑
                
    //
            }

            
    public void UpdateData(Data data)
            
    {
                
    //
                //直接初始化myMail类,并调用发邮件方法。
                
    //完成数据更新后,利用mail通知

                new myMail().SendMail(mail);
            }

        }

        
    public class myMail
        
    {
            
    public myMail()
            
    {
            }

            
    public void SendMail(MailArgs ex)
            
    {

            }

        }

    代码二
    专门定义一个事件类,来接受来之于数据处理类的触发事件,并在事件类里面来发送邮件。
    那么作为数据更新类,只负责做好数据更新。
    交由一个中间类来处理它的事件。

        public class DataAccess        
        
    {
            
    protected eventClass e;
            
    public DataAccess()
            
    {
                
    //
                
    // TODO: 在此处添加构造函数逻辑
                
    //
                e = new eventClass(this);
                
            }

            
    public void UpdateData(Data data)
            
    {
                
    //

                
    //利用事件通知
                if(updateEvent!=null)
                    updateEvent(
    this);
            }

            
    定义事件
        }


        
    public class eventClass
        
    {
            
    public eventClass(DataAccess a)
            
    {
                a.updateEvent 
    +=new Fiberxon.HR.Biz.DataAccess.UpdateEventHandler(a_updateEvent);
            }


            
    private void a_updateEvent(object sender)
            
    {
                
    new myMail().SendMail(ex);
            }

        }



        
    public class myMail
        
    {
            
    public myMail()
            
    {
            }

            
    public void SendMail(MailArgs ex)
            
    {

            }

        }

    }




     

  • 相关阅读:
    第12章,存储类别、链接和内存管理
    第11章 字符串和字符串函数
    第10章 数组和指针
    第9章 函数
    第8章 字符输入/输出和输入验证
    第7章,c语言控制语句:分支和跳转
    第六章,处语言控制语句:循环
    中国互联网发展史
    世界互联网发展史
    世界计算机发展史
  • 原文地址:https://www.cnblogs.com/king_astar/p/44752.html
Copyright © 2011-2022 走看看