新聞代碼分層

在寫程序以前,先要設想下如何去實現。php

<?php
//默認的設計模式
//操做接口
interface INews
{

}

//實現基本的操做
abstract class NewsAction implements INews
{

}

//service服務   
class NewsService extends NewsAction
{
    //調用NewsModel
}

//面向數據庫
class NewsModel
{
  //包含了對數據的全部操做
}

//繼承了操做權限
class NewsController extends NodeController
{
   //傳遞參數 調用NewsService
}
//定義了組合產品   基本信息+內容(文章內容、圖片集、具體的專題信息) 面向操做 而不是數據庫
interface IProduct
{
    function base(); //基本信息
    function content(); //內容
    function extend(); //擴展信息
    function all(); //獲取組合信息
}
interface IProductAction{
    function add();
    function remove();
    function save();
    function get();
}
Abstract class Product implements IProductAction{}
//對信息進行劃分
interface info{}//模型接口

class Base implements info{}//基本信息實現
class Content implements info{}//基本內容實現  發現內容不一樣 還須要從新架構
class Extend implements info{}//擴展信息實現

class Article extends  Content{}//文章內容
class Image extends Content{}//圖片內容
class Special extends Content{}//專題內容

//組合產品
class ArticlueProduct implements IProduct{}
class ImageProduct  implements IProduct{}
class SpecialProduct implements IProduct{}

//有了產品 須要抽工廠方法(無非是對組合產品的添加和刪除操做,查詢)  相似service
interface IFactory{
   function add();
   function save();
   function remove();
   function get();
}

class FactoryService implements IFactory{

}
相關文章
相關標籤/搜索