zoukankan      html  css  js  c++  java
  • 设计模式

    1、 开闭原则(对扩展开放,对修改关闭)

    2、单一职责原则(一个类只负责一个功能)

    3、里氏替换原则(类型约束,类型限定)

    4、依赖倒置原则(pdo数据库连接)

      总:1、接口,抽象;2低层,具体实现;3前端应用,高层

      1、高层模块不应该依赖低层模块,两者都应该依赖抽象(低层实现如mysql,sqlserver,oracle等,高层调用add,delete,update等)

      2、抽象不应该依赖于细节,细节应当依赖于抽象

      3、面向接口编程,而非面向具体实现编程

    5、接口隔离原则(把接口分离,公有的方法提取出来,避免类实现接口里不必要的方法,)

    6、迪米特法则(最少知道法则,比如租客,中介,房东,又例如统计中国人口,中央按省统计,不关心省具体怎么统计),聚合/组合复用原则和继承的使用(如果是has,例如人有手,则是用trait聚合/组合,如果是is,认识动物,则用继承)

    7、单例模式:一个类只有一个实例,比如数据库连接类,后面程序需要使用数据库时,只需要实例化一次 

    header('Content-Type:text/html; charset=utf-8;');
    final class DB {
    private static $instance = null;
    public $conn = null;
    private function __construct($config) {
    $this->conn = new mysqli($config['host'],$config['username'],$config['pwd'],$config['database']);
    }
    public static function getInstance($config) {
    if (self::$instance === null) {
    self::$instance = new self($config);
    }
    return self::$instance;
    }
    public function __clone() {
    throw new Exception('Error: 禁止克隆');
    }
    }

    $db = DB::getInstance(['host'=>'127.0.0.1','username'=>'root','pwd'=>'root','database'=>'test']);
    $link = $db->conn;
    mysqli_query($link, 'set names utf8');
    $result = $link->query("select * from goods");
    print_r($result->fetch_all());
  • 相关阅读:
    Nginx创建密码保护目录
    Android:Field can be converted to a local varible.
    创建用户故事地图(User Story Mapping)的8个步骤
    用户故事地图(User Story Mapping)之初体验
    Android必知必会--GreenDao缓存
    Windows下多线程数据同步互斥的有关知识
    OpenCV3.0 3.1版本的改进
    利用OpenCV的人脸检测给头像带上圣诞帽
    一些关于并行计算的科研思路
    Java中httpClient中三种超时设置
  • 原文地址:https://www.cnblogs.com/maidongdong/p/11422399.html
Copyright © 2011-2022 走看看