手把手教你做關鍵詞匹配項目(搜尋引擎)---- 第十三天,教你做第十三天_PHP教程

來源:互聯網
上載者:User

手把手教你做關鍵詞匹配項目(搜尋引擎)---- 第十三天,教你做第十三天


第十三天

自從小帥帥被於老大批了之後,心裡非常不爽,因為有這樣的理由:我已經做到了你想要的,為什麼還得不到肯定。

什麼樣的程式員才是優秀的?小帥帥帶著這樣的疑問去瞭解設計模式。

儘管他把設計模式看了很多遍,甚至連設計模式的名字背得滾瓜爛熟,單例模式、抽象原廠模式、建造者模式、原廠模式、原型模式...等。

但是小帥帥還是不知道如何去用,沒辦法,他只好再次去請教於老大,於老大給了一份代碼讓他去看,看看裡面用了什麼設計模式。

什麼樣的程式員才是優秀的?有人說,優秀的程式員是寫出可以閱讀的代碼,而普通的程式員是寫出可以啟動並執行代碼。

於老大的代碼如下:

phpclass SelectorItem {    private $item;    public function __construct($item){        $this->item = $item;    }    public function __get($name){        if(isset($this->item->$name)){            return $this->item->$name;        }        return null;    }    public static function createFromApi($num_iid){        $client = new TopClient();        $client->appkey = 'xx';        $client->secretKey = 'xx';        $req = new ItemGetRequest();        $req->setFields('props_name,property_alias,detail_url,cid,title');        $req->setNumIid($num_iid);        $resp = $client->execute($req);        if(isset($resp->code)){            # error handle            throw new Exception($resp->msg, $resp->code);        }        return new self($resp->item);    }}class CharList {    private $core = array();    private $blacklist = array();    public function addCore($char){        if(!in_array($char,$this->core))            $this->core[] = $char;    }        public function getCore(){        return $this->core;    }    public function addBlacklist($char){        if(!in_array($char,$this->blacklist))            $this->blacklist[] = $char;    }        public function getBlacklist(){        return $this->blacklist;    }}abstract class CharListHandle {        protected $charlist;    public function __construct($charlist){        $this->charlist = $charlist;    }        abstract function exec();}class MenCharListHandle extends CharListHandle {        public function exec(){        $this->charlist->addCore("男裝");        $this->charlist->addBlacklist("女");    }}class WomenCharListHandle extends CharListHandle{    public function exec(){        $this->charlist->addCore("女裝");        $this->charlist->addBlacklist("男");    }}# 其他CharList Handle小帥帥完成class Selector {    private static  $charListHandle = array(        "男裝"=>"MenCharListHandle",        "女裝"=>"WomenCharListHandle",        "情侶裝"=>"LoversCharListHandle",        "童裝"=>"ChildrenCharListHandle"    );    public static function select($num_iid){        $selectorItem = SelectorItem::createFromApi($num_iid);        Logger::trace($selectorItem->props_name);        $matchTitle = $selectorItem->title.$selectorItem->props_name;                $charlist = new CharList();                foreach(self::$charListHandle as $matchKey=>$className){            if(preg_match("/$matchKey/",$matchTitle)){                $handle = self::createCharListHandle($className,$charlist);                $handle->exec();            }        }                //do search things           }        public static function createCharListHandle($className,$charlist){        if(class_exists($className)){            return new $className($charlist);        }        throw new Exception("class not exists",0);    }}

小帥帥看了代碼後再也按耐不住了,這就是傳說中的於老大,還不是抄的My Code。。。

於老大要是聽到小帥帥的想法,會有什麼舉動呢?

小帥帥沒辦法繼續去研究神功秘籍。




http://www.bkjia.com/PHPjc/867003.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/867003.htmlTechArticle手把手教你做關鍵詞匹配項目(搜尋引擎)---- 第十三天,教你做第十三天 第十三天 自從小帥帥被於老大批了之後,心裡非常不爽,因為有...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.