zoukankan      html  css  js  c++  java
  • 【讨论】一个接口的世界

    一个接口的世界, 包含了ORM的基础以及MVC的基础。

        public interface IEntityProxy
        {
            /// <summary>
            
    /// 获取实例对象的属性值
            
    /// </summary>
            
    /// <param name="entity">对象实例</param>
            
    /// <param name="propertyName">属性名</param>
            
    /// <returns>属性值</returns>
            object GetPropertyValue(object entity, string propertyName);

            /// <summary>
            
    /// 设置实例对象的属性值
            
    /// </summary>
            
    /// <param name="entity">对象实例</param>
            
    /// <param name="propertyName">属性名</param>
            
    /// <param name="propertyValue">属性值</param>
            void SetPropertyValue(object entity, string propertyName, object propertyValue);

            /// <summary>
            
    /// 动态调用方法。
            
    /// </summary>
            
    /// <param name="entity">对象实例</param>
            
    /// <param name="methodName">方法名</param>
            
    /// <param name="dataAdapter">参数名,参数值数据集</param>
            
    /// <returns>返回值</returns>
            object Invoke(object entity, string methodName, BeeDataAdapter dataAdapter);

    欢迎大家讨论及实现该接口。 

    SetPropertyValue 这两个方法为实现ORM的基础。

    Invoke 则为实现MVC的基础。

    实现的方式有:1:Reflection; 2: Emit; 3:Expression Tree.  

  • 相关阅读:
    bzoj 3226 [Sdoi2008]校门外的区间(线段树)
    bzoj 1513 [POI2006]Tet-Tetris 3D(二维线段树)
    cf293E Close Vertices(树分治+BIT)
    点分治练习:不虚就是要AK
    点分治练习: boatherds
    bzoj 4016 [FJOI2014]最短路径树问题(最短路径树+树分治)
    bzoj 1876 [SDOI2009]SuperGCD(高精度+更相减损)
    464 整数排序Ⅱ
    445 余弦相似度
    488 快乐数
  • 原文地址:https://www.cnblogs.com/hkf7703/p/2423285.html
Copyright © 2011-2022 走看看