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.  

  • 相关阅读:
    1856: [Scoi2010]字符串(Catalan数)
    11.6NOIP模拟赛
    bzoj1257[CQOI2007]余数之和(除法分块)
    11.5NOIP模拟赛
    bzoj1048(记忆化搜索)
    置顶公告+更新日志
    CF585F Digits of Number Pi
    [SHOI2007]善意的投票
    [HEOI2015]最短不公共子串
    树形背包复杂度+P3177 [HAOI2015]树上染色
  • 原文地址:https://www.cnblogs.com/hkf7703/p/2423285.html
Copyright © 2011-2022 走看看