一、知识点拾遗

  1、多继承的易错点

二、设计模式

1、设计模式介绍

  Gof设计模式

  大话设计模式

2、单例模式

  1. 当所有实例中封装的数据相同时,使用单例模式
  2. 静态方法+静态字段
  3. 单例就是只有一个实例

    a。创建单例模式应用场景和实例

      ①创建一个数据库连接池

 class ConnectionPool

     __instance=None

     def__init__(self):
self.ip="1.1.1.1"
self.port=3307
self.pwd=""
self.username="minmin"
self.conn_list=[1,2,3,4,5,6,7,8,9,10] @staticmethond
def get_instance():
if ConnectionPool.__instance:
return ConnectionPool.__instance
else:
#/创建一个对象,并将对象赋值给静态字段__instance
ConnectionPool.__instance=ConnectionPool()
return ConnectionPool.__instance def get_coonection(self):
#获取连接
import random
r = random.randrange(1,11)
return r obj1=ConnectPool.get_instance()
print(obj1)
obj2=ConnectPool.get_instance()
print(obj2)
obj3=ConnectPool.get_instance()
print(obj3)

      ②创建web站点并应用单例模式

 #!/usr/bin/env python
# -*- coding: utf-8 -*- form wsgiref.simple_server import make_server
import random
class ConnectionPool: __instance = None def __init__(self):
self.ip = "1.1.1.1"
self.port=3307
self.pwd=""
self.username=""
self.conn_list = [1, 2, 3, 4, 5, 6, 7, 8, 9,10] @staticmethod
def get_instance():
if ConnectionPool.__instance:
return ConnectionPool.__instance
else: # 创建一个对象,并将对象赋值给静态字段__instance
ConnectionPool.__instance = ConnectionPool()
return ConnectionPool.__instance def get_connection(self):
#获取连接
r = random.randrange(1,11)
return r def index():
p = ConnectionPool.get_instance()
print(p)
conn = ConnectionPool.get_connection()
return ""+str(conn) def news():
return ""
def RunServer(environ,start_response):
start_response(status='200 OK',headers=[('Content-Type','text/html')])
url=environ['PATH_INFO']
if url.endswith('index'):
ret = index()
return ret
elif url.endswith('news'):
ret = news()
return ret
else:
return '' if __name__=='__main__':
httpd=make_server('', 8000, RunServer)
print("Serving HTTP on port 8000.....")
httpd.serve_forever()单例单例

code

      

    

  

最新文章

  1. 我们为什么要学习Java
  2. net软件自动生成开发编程框架编程机器人
  3. ZK 代码自动提示
  4. zip函数
  5. XCode实用好用插件集锦
  6. 读书笔记—CLR via C#委托和attribute
  7. poj 2184(dp变形,进一步加深01背包)
  8. lua: Learning Official Doc notes
  9. Erlang cowboy 入门参考之现代Web的发展历史
  10. 摄像头ov2685中关于sensor id 设置的相关的寄存器地址
  11. Python:说说字典和散列表,散列冲突的解决原理
  12. Blob与Clob转字符串
  13. javascript 作用域详解
  14. 【转】Python之日志处理(logging模块)
  15. ubuntu-12.04.4-alternate-i386安装
  16. 【Alpha go】Day 3!
  17. Jquery属性练习
  18. document.domain 跨域问题[转]
  19. iOS - 组件化探究之私有库的创建
  20. git——本地项目上传到git

热门文章

  1. C# WPF Bing地图展示
  2. BugkuCTF flag.php(反序列化)
  3. H5_0013:CSS特色样式集
  4. Ex-KMP(模板)
  5. Java定时任务之Timer
  6. 二叉堆(2)LeftistHeap
  7. linux安装samba服务器
  8. Spark学习之路 (一)Spark初识 [转]
  9. Java改变引用数据类型的值
  10. 链表问题----删除倒数第K个节点