PYday16&17-设计模式\选课系统习题
2024-09-08 09:30:17
1、设计模式:
对程序做整体得规划设计,这样做是为了更好的实现功能,使代码的可扩展性更好
有27种常见的设计模式。
流行的设计模式参考书:GoF设计模式、大话设计模式
设计模式是为了更好的实现模块间的解耦,便于程序的扩展
2、基础设计模式-单利模式:只有一个示例
实现方法:静态方法+静态字段
不适用的场景:每个对象封装了不同得参数
适用场景:当所有实例中封装内容相同时
eg:
#!/usr/bin/envpython
#-*-coding:utf-8-*-
classConnectionPool:
__instance=None @staticmethod
defget_instance():
ifConnectionPool.__instance:
returnConnectionPool.__instance
else:
ConnectionPool.__instance=ConnectionPool()
returnConnectionPool.__instance def__init__(self):
self.ip='10.10.8.12'
self.port=3306
self.pwd='query'
self.username='query'
#去连接
self.conn_list=[1,2,3,4,5,6,7,8,9,10]
defget_connection(self):
#获取连接
importrandom
r=random.randrange(1,11)
returnr #foriinrange(10):
#pool=ConnectionPool.get_connection()
#print("去连接池",pool,"中获取一个连接")
#conn=pool.get_connection()
#print('获取到的连接是:',conn)
3、数据库连接池:用来hung住数据库的若干连接,当程序连接数据库的时候直接拿走连接就可以很快的连接上数据库。
程序对数据操作不耗时,连接数据库的过程非常耗时。
4、py包 在2.7版本下有__init__.py文就则叫包,若没有怎不能导入其中的类
5、编程的开放封闭原则:配置文件对用户开放,对程序封闭
6、程序文件分类:
练习题1:学生选课系统
管理员:
创建老师:姓名、性别、年龄、资产
创建课程:课程名称、上课时间、课时费、关联老师
使用pickle保持文件
学生:
学生:用户名、密码、性别、年龄、选课列表[]、上课记录{}
1、列举所有课程
2、选择课程
3、学生上课
4、ret = 课程。work() 获取课程的返回;资产+=课时费
https://files.cnblogs.com/files/workherd/day17.zip
最新文章
- [SDK2.2]Windows Azure Virtual Network (3) 创建AD Server并添加至Virtual Network
- 「轉」Java的内存机制
- 微价值:专访《甜心爱消除》的个人开发者Lee,日入千元
- 使用Spring时遇到的bug及解决
- codeforces Gym 100500 J. Bye Bye Russia
- linux命令之chown命令
- GCC常用参数
- 重操JS旧业第三弹:Array
- python写的一段分页的代码
- .NET平台下使用Redis
- hdu6415 记忆化搜索或找规律
- android ui更新
- switch and checkbox
- iOS中的截屏(屏幕截屏及scrollView或tableView的全部截屏)
- python 的基础 学习 第六天 基础数据类型的操作方法 字典
- shiro 权限 URL 配置细节
- [转]Jsp 页面中的错误
- 获取IP相关信息和文件上传
- IDEA 打包jar
- Token的概念