背景

几乎所有的动态语言都支持成员的动态解析,一般的在解析不到成员的时候会给出一个hook点让你自定义一些有意思的实现。.Net4之后增加了对动态类型的支持,在动态类型上就有这种机制。

模拟SimpleDb

 # coding = utf-8

 class SimpleDB:
def __getattribute__(self, name):
return Table(name) class Table:
def __init__(self, table):
self.__table = table def select(self, condition):
print('table: %s, condition: %s' % (self.__table, condition)) test = SimpleDB()
test.Users.select({'name': '段光伟', 'age': 30})

注意:上面的__getattribute__就是python提供的hook。

最新文章

  1. cell 的复用机制
  2. Android开发之---AIDL
  3. 聊聊GISer的职业发展
  4. HTML5 -1- 简介
  5. activity状态的保存和保持(onRetainNonConfigurationInstance和getLastNonConfigurationInstanc
  6. rac 11g_生产库日志组损坏处理
  7. label 与 input
  8. hbase blocksize设置,与hdfs关系
  9. SQL SERVER发布与订阅 [原创]
  10. Redis failover过程
  11. JPA 系列教程14-自定义类型-@Embedded+@Embeddable
  12. socket和抓包工具wireshark
  13. web前端(7)—— 了解CSS样式,引入css样式的方式
  14. 【微信小游戏】【提审的坑】!#¥%&……&&……%¥#@@*()()&%%¥
  15. CENTOS 升级Nodejs 到最新版本
  16. 【java】一维数组
  17. 这些天C#面试有感
  18. 第十七次ScrumMeeting博客
  19. MT【138】对称乎?
  20. hdoj1257 最少拦截系统

热门文章

  1. MyEclipse、IDEA常用快捷键
  2. 20165330《网络对抗技术》Exp0 Kali安装
  3. C#小票打印机
  4. ORM,DAO,MVC,POJO
  5. ajax和jsonp
  6. LOOPS 概率dp
  7. 文件基本操作 (C语言)
  8. java多线程并发系列之闭锁(Latch)和栅栏(CyclicBarrier)
  9. 表达式括号匹配(stack.cpp)
  10. AFO 我的oi生涯 大结局