zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    JavaScript语言基础
    IP地址分类及CIDR划分方法
    Python静态方法实现单实例模式
    【转载】http和socket之长连接和短连接
    DDoS攻击
    Vue自定义过滤器
    解决跨域问题
    微信菜单创建
    canvas标签(1)--线条、矩形、圆形、文本、阴影、抛小球
    Bootstrap CSS概览代码文字标注篇
  • 原文地址:https://www.cnblogs.com/workherd/p/8330747.html
Copyright © 2011-2022 走看看