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.  

  • 相关阅读:
    你不是不行只是对自己要求太低
    数学的思维方式
    python文档生成工具:pydoc、sphinx;django如何使用sphinx?
    python抽象类的实现方式:abc模块
    python的重试库tenacity用法以及类似库retry、requests实现
    dict扩展munch,支持yaml文件
    python读取yaml配置文件
    博客园的打赏功能、打赏插件
    junit5了解一下
    sulime代理设置、插件管理
  • 原文地址:https://www.cnblogs.com/hkf7703/p/2423285.html
Copyright © 2011-2022 走看看