文档章节

新闻代码分层

大灰狼wow
 大灰狼wow
发布于 2014/05/13 12:58
字数 314
阅读 83
收藏 1

在写程序之前,先要设想下如何去实现。

<?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{

}


© 著作权归作者所有

大灰狼wow
粉丝 48
博文 395
码字总数 48850
作品 1
嘉兴
程序员
私信 提问
求助求助——请教各位高手,抽出一点宝贵的时间根据这个实例讲解一下应该如何分层呢?

有很多的问题没有明确,比如三层架构的定义到底是什么呢?(有些人说我的是分层,有的说不是。我个人感觉还是分层了) 各个层的定义又是如何呢? 每个层里都需要实现什么功能,放哪些代码呢?...

金色海洋
2017/12/25
0
0
练习项目08:新闻采集(下)

练习项目08:新闻采集(下) Python自动化运维2018-01-021 阅读 PythonPython教程 这一篇教程,我们一起采用一种更复杂,但是更具有扩展性、更易维护的方式来实现新闻采集的功能。 在上一篇教...

Python自动化运维
2018/01/02
0
0
练习项目08:新闻采集(下)

练习项目08:新闻采集(下) Python自动化运维2018-01-021 阅读 PythonPython教程 这一篇教程,我们一起采用一种更复杂,但是更具有扩展性、更易维护的方式来实现新闻采集的功能。 在上一篇教...

Python自动化运维
2018/01/02
0
0
可应用于实际的14个NLP突破性研究成果(三)

8.用于语义角色标注的语言学信息自我注意力方法,作者:EMMA STRUBELL,PATRICK VERGA,DANIEL ANDOR,DAVID WEISS,ANDREW MCCALLUM 论文摘要 当前最先进的语义角色标记(SRL)使用深度神经...

【方向】
01/28
0
0
MVP模式在Android项目中的使用

以前在写项目的时候,没有过多考虑架构模式的问题,因为之前一直做J2EE开发,而J2EE都是采用MVC模式进行开发的,所以在搭建公司项目的时候,也是使用类似MVC的架构(严格来讲,之前的项目还算...

丁佳辉
2016/05/26
34
0

没有更多内容

加载失败,请刷新页面

加载更多

MainThreadSupport

MainThreadSupport EventBus 3.0 中的代码片段. org.greenrobot.eventbus.MainThreadSupport 定义一个接口,并给出默认实现类. 调用者可以在EventBus的构建者中替换该实现. public interface ...

马湖村第九后羿
30分钟前
3
0
指定要使用的形状来代替文字的显示

控制手机键盘弹出的功能只能在ios上实现,安卓是实现不了的,所以安卓只能使用type类型来控制键盘类型,例如你要弹出数字键盘就使用type="number",如果要弹出电话键盘就使用type="tel",但这...

前端老手
40分钟前
5
0
总结:Raft协议

一、Raft协议是什么? 分布式一致性算法。即解决分布式系统中各个副本数据一致性问题。 二、Raft的日志广播过程 发送日志到所有Followers(Raft中将非Leader节点称为Follower)。 Followers收...

浮躁的码农
48分钟前
5
0
Flask-admin Model View字段介绍

Model View字段介绍 can_create = True 是否可以创建can_edit = True 是否可以编辑can_delete = True 是否可以删除list_template = 'admin/model/list.html' 修改显......

dillonxiao
今天
5
0
从AnnotationTransactionAspect开始rushSpring事务

0. Spring 事务 with LTW 0.1. Spring 事务 With LTW的原因: Pure Proxy-base mode有缺陷,其失效原因分析及使用方法及运行机制(LoadTimeWeaverBeanDefinitionParser和 AspectJWeavingEnable......

Aruforce
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部