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#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总 ...
随机推荐
- 【c#技术】一篇文章搞掂:Newtonsoft.Json Json.Net
一.介绍 Json.Net是一个.Net高性能框架. 特点和好处: 1.为.Net对象和JSON之间的转换提供灵活的Json序列化器: 2.为阅读和书写JSON提供LINQ to JSON: 3.高性 ...
- mysql启动以及常用命令汇总
mysql57的启动 常用命令 : show databases : 展示所有数据库 use 数据库名 : 连接数据库 show tables ...
- MySQL查询缓存详解(总结)
MySQL查询缓存详解(总结) 一.总结 一句话总结: mysql查询缓存还是可以用用试一试,但是更推荐分布式,比如redis/memcache之流,将数据库中查询的数据和查询语句以键值对的方式存进分 ...
- leetcode-解题记录 1108. IP 地址无效化
题目: 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本. 所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 ".". ...
- OpenCV2.4.8 + CUDA7.5 + VS2013 配置
配置过程主要参考:https://initialneil.wordpress.com/2014/09/25/opencv-2-4-9-cuda-6-5-visual-studio-2013/ 1.为什 ...
- HTML版简历
页面预览 在线演示
- PAT_A1071#Speech Patterns
Source: PAT A1071 Speech Patterns (25 分) Description: People often have a preference among synonyms ...
- Qt Creator 中的插件Plugin, 区分说明。。。
Qt Creator 中可以创建 三中类型的插件Plugin: 1.用的最多的,派生自QGenericPlugin类: 在新建Library, Plugin类型工程中,新建. 调用使用QPlugi ...
- rgba转化为16进制在线工具
https://www.sioe.cn/yingyong/yanse-rgb-16/
- WPF绑定のRelativeSource
在WPF绑定的时候,指定绑定源时,有一种办法是使用RelativeSource. 这种办法的意思是指当前元素和绑定源的位置关系. 第一种关系: Self 举一个最简单的例子:在一个StackPanel ...