PYday16&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
PYday16&17-设计模式\选课系统习题的更多相关文章
- SSM整合之---简单选课系统
简单选课系统 一.实体图 二.功能 三.代码实现 1.SSM环境搭建 (1)pom.xml <dependencies> <dependency> <groupId> ...
- 从零开始学Python06作业思路:学生选课系统
一,作业要求 选课系统: 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 学生:用户名.密码.性别.年龄.选课列表[].上课记录{课程1:[di,a,]} ...
- python之选课系统详解[功能未完善]
作业需求 思路:1.先写出大体的类,比如学校类,学生类,课程类-- 2.写出类里面大概的方法,比如学校类里面有创建讲师.创建班级-- 3.根据下面写出大致的代码,并实现其功能 遇到的困 ...
- Python开发程序:选课系统-改良版
程序名称: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...
- python实现学生选课系统 面向对象的应用:
一.要求: 选课系统 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 使用pickle保存在文件 学生: 学生:用户名.密码.性别.年龄.选课列表[].上课 ...
- Python开发程序:选课系统
本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...
- python 面向对象 class 老男孩选课系统
要求:1. 创建北京.上海 2 所学校 class2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课 ...
- 一个简单的python选课系统
下面介绍一下自己写的python程序,主要是的知识点为sys.os.json.pickle的模块应用,python程序包的的使用,以及关于类的使用. 下面是我的程序目录: bin是存放一些执行文件co ...
- 学生选课系统 c语言
/********************************* *主题:学生选修课程系统设计 * *设计要求: *1.添加功能:程序能够任意添加课程和学生记录,可提供选择界面供用户选择所需要添加 ...
随机推荐
- css3响应式图片
响应式图片指用户代理根据输出设备的分辨率不同加载不同类型的图片,不会造成带宽的浪费. 同时,在改变输出设备类型或分辨率时,能及时加载对应类型的图片. 常用的实现方式: 1.用srcset和size ...
- Java基础(变量、运算符)
第2天 Java基础语法 今日内容介绍 u 变量 u 运算符 第1章 变量 1.1 变量概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多很多.所以变量也是尤为 ...
- DetachedCriteria的简单使用
一. DetachedCriteria使得hibernate能够对查询条件进行面向对象的方式来组装.其创建方式有两种: 1.1直接用class创建:DetachedCriteria criteria ...
- ecshop分类页把分类描述改成FCKeditor编辑器
最近放一个网站 http://www.macklin.cn/productline/35 有个产品分类页面需要添加分类缩略图和图文的描述 一.首先说下添加分类缩略图的步骤吧 1,依葫芦画瓢,参照的是e ...
- Vuforia切换回识别场景后黑屏解决
使用Vuforia SDK开发时,如果从其他非识别场景切换回识别场景,可能会出现黑屏问题. 解决方法是在切换到其他场景时,先将当前场景的Tracker信息全部Stop.代码如下: IEnumerato ...
- 电话号码 马赛克*号 string类扩展
/// <summary> /// 字符串马赛克 /// </summary> /// <param name="source"></pa ...
- python3发送邮件01(简单例子,不带附件)
# -*- coding:utf-8 -*-import smtplibfrom email.header import Headerfrom email.mime.text import MIMET ...
- JavaScript_8_比较,条件语句
1. 比较运算符 ==(值相等,类型可以不等), ===(值和类型必须都相等), !=, >, <, >=, <= 2. 逻辑运算符 &&.||.! 3. 条件 ...
- 2015 ACM/ICPC Asia Regional Changchun Online Pro 1005 Travel (Krsukal变形)
Travel Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su ...
- CodeForces 48C D - The Race (Fraction,数学)
每个加油的站可以确定一个alpha的上下界,比如,第i次加油站a[i],前面加了i次油,a[i]*10≤ alpha*i <(a[i]+1)*10. 取最大的下界,取最小的上界,看看两者之间的满 ...