legend2---17、legend2里面怎么面向对象
legend2---17、legend2里面怎么面向对象
一、总结
一句话总结:
mvc本身挺优:本身mvc的开发模式,就算是面向过程下也还行,如果面向对象那就更加棒了
实体类无需属性:由于php的生命周期,建议面向对象的话,控制器中实体类里面无需属性,直接在Model里面操作数据库即可
看别人项目里面的面向对象:其它的等你 看了别人项目的 php 源码你就知道怎么做了
二、内容在总结中
mvc本身挺优:本身mvc的开发模式,就算是面向过程下也还行,如果面向对象那就更加棒了
实体类无需属性:由于php的生命周期,建议面向对象的话,控制器中实体类里面无需属性,直接在Model里面操作数据库即可
看别人项目里面的面向对象:其它的等你 看了别人项目的 php 源码你就知道怎么做了
完整分析legend2有哪些功能,该如何实现
有宗门
宗门有属性
有英雄
英雄有属性,英雄有技能
升级
有各种测试
有录入博客
获得物品
获得各种各样的物品
英雄升级
英雄领悟技能
英雄融合
装备啊,丹药,
分方面来说:
大的方面:
1、游戏方面
2、学习方面
-----------------学习方面说起:------------------
1、录入博客,做题目
博客 接口
博客园博客
csdn博客
新浪博客
interface blog{
function loadBlog();
}
class cnblog implements blog{
function loadBlog(){
getBlog(){调用cnblog的那个Model};
saveBlog(){};
}
}
不同的getBlog调用的Model是不一样的
获取到数据,整理成一样的格式之后,也是一样的
saveBlog是一样的
2、做题方面
每次做题都是测试,分为很多种不同的测试
日常修炼
灵力测试
近期测试
分类测试
interface exam{
function do();
}
interface Daily implements exam(){
private questionNum;
function do(){
调用daily的model里面的getQuestionList获取题目
}
}
--------------------游戏方面-----------------------
主要是我的php的对象并不是常驻内存,页面请求返回给用户的时候变量对象这些其实已经被释放了,
我把数据库的数据数组转化成对象要花精力,我把对象装换成数组传到页面同样也花精力,而且这样耗费精力的转换用一次就没了
重新打开页面还要重新转换
对象存到session里面好像不太方便
解决方法:
就是这些对象可以有,但是他们不必带属性,直接带方法就可以了,数据库的数据作为参数传进去就好了
优化:
因为对象的属性都是直接从数据库中取,然后以数组作为参数传递给了对象的方法
面向对象之后,我如何确定你这个对象就是你这个对象呢
面向对象之后,我要修改数据库怎么办呢
{
类里面不需要属性,让他们在Model里面操作数据库就好了,控制器里面可以传id这些参数
}
1、宗门
interface school{
function upgrade();//升级
function gainMoney();//收钱:得到物品里面的特例
funciton spendMoney();//花钱:使用物品里面的特例
function gainItem();//得到物品
function useItem();//使用物品
function recruitHero();//招募英雄
function refreshHero();//刷新英雄
function xunbao();//寻宝
function buy();//购买物品
熔炼英雄
}
class mySchool{
有一个属性,这个数据就是从数据库中取出来的那个数组
其它方法都是依赖于这个属性的
类里面不需要属性,让他们在Model里面操作数据库就好了,控制器里面可以传id这些参数
}
2、英雄
class hero{
升级
穿戴装备
}
那些装备要不要做类呢?
没必要做类,因为英雄和宗门对象不适合有属性
3、奖励
灵力测试奖励
日常修炼奖励
等级奖励
分类测试奖励
近期测试奖励
其它的等你 看了别人项目的 php 源码你就知道怎么做了
legend2---17、legend2里面怎么面向对象的更多相关文章
- 【17】有关python面向对象编程的提高【多继承、多态、类属性、动态添加与限制添加属性与方法、@property】
一.多继承 案例1:小孩继承自爸爸,妈妈.在程序入口模块再创建实例调用执行 #father模块 class Father(object): def __init__(self,money): self ...
- Java-Java面向对象程序设计
2017-10-09 17:23:52 在面向对象技术中,将客观世界中的一个事物作为一个对象来考虑,比如有个张先生,他就是一个对象.每个对象都有自己的属性和行为.张先生的属性根据需要有姓名.性别.身高 ...
- python day10: 反射补充,面向对象
目录 pythdon day 10 1. 反射补充 16. 面向对象 16.1 面向对象初步介绍 16.2 面向对象和面向过程区别 16.3 对象的进化 17. 类class 17.1 类的定义 17 ...
- 5. web前端开发分享-css,js深化篇
一. css练习网易专题: 1. http://news.163.com/ 新闻 跟腾讯的新闻版式大体没有大的变化,只是细节. 2. http://news.163.com/photo/#Curren ...
- Lua-简洁、轻量、可扩展的脚本语言
转自:http://rmingwang.com/The-Programming-Language-Lua.html 1. 一.Lua安装及常用库的安装 2. 1.1 Ubuntu $ sudo apt ...
- 老男孩Python高级全栈开发工程师【真正的全套完整无加密】
点击了解更多Python课程>>> 老男孩Python高级全栈开发工程师[真正的全套完整无加密] 课程大纲 老男孩python全栈,Python 全栈,Python教程,Django ...
- 一站式WPF--依赖属性(DependencyProperty)一
Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR) 属性的功能,这些服务通常统称为 WPF 属性系统.由 WPF ...
- [.net 面向对象程序设计进阶] (17) 多线程(Multithreading)(二) 利用多线程提高程序性能(中)
[.net 面向对象程序设计进阶] (17) 多线程(Multithreading)(二) 利用多线程提高程序性能(中) 本节要点: 上节介绍了多线程的基本使用方法和基本应用示例,本节深入介绍.NET ...
- [.net 面向对象编程基础] (17) 数组与集合
[.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总 ...
随机推荐
- [CSP-S模拟测试]:marshland(最大费用可行流)
题目描述 前方有一片沼泽地.方便地,我们用一个$n\times n$的网格图来描述它,每一个格子代表着沼泽地的一小片区域.其中$(1,1)$代表网格图的左上角,$(n,n)$代表网格图的右下角.若用$ ...
- 关于css3 Animation动画
在介绍animation之前有必要先来了解一个东西,那就是“keyframes”,我们把他叫做“关键帧”: 在使用transition制作一个简单的transition效果时,包括了初始属性,最终属性 ...
- Python做简单的字符串匹配详解
Python做简单的字符串匹配详解 由于需要在半结构化的文本数据中提取一些特定格式的字段.数据辅助挖掘分析工作,以往都是使用Matlab工具进行结构化数据处理的建模,matlab擅长矩阵处理.结构化数 ...
- 【原创】复制知乎“禁止转载”的内容做笔记 - 基于oncopy监听器的简单解决方案
原理:移除所有oncopy的监听器. 使用: 新建书签,地址设为: javascript: getEventListeners(document).copy.forEach(({listener}) ...
- vue-router 传递参数的几种方式
本文转载自:https://blog.csdn.net/crazywoniu/article/details/80942642 vue-router传递参数分为两大类 编程式的导航 router.pu ...
- lua脚本分解字符串
--local str = "文字45 文字 789 文们adsd45 文字 wowo 文字 文字 wowo我们 wowo456 wiwo 465我们 456sdf 45 45我们adsd4 ...
- 学习contiki需要知道的一些概念和注意事项
概念: 1.宏:所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务.Microsoft Word中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命令,它能使日常工作 ...
- python-django之cookie及session
Cookie Cookie的由来 Http协议是无状态的 无状态的意思是每次都是独立的请求存在,它的执行情况和结果与前面的请求和后面的请求都无直接关系,它不会受到前面的请求响应情况直接影响,也不会直接 ...
- 插件化框架解读之Android 资源加载机制详解(二)
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680Android提供了一种非常灵活的资源系统,可以根据不同的条件提供 ...
- inno setup静默安装
[Code] //关键代码静默安装 procedure InitializeWizard(); begin //不显示边框,这样就能达到不会闪两下了 WizardForm.BorderStyl ...