我用的是 PHP ,我现在写的项目里面的大多数的功能都封装到函数中了,需要的用时候,就 require ,再去传参调用函数,不知道这样会不会不好,难道还要用类去实现吗?
以segmentfault网站首页为例子(首页显示一些问题),如果要让我写的话(使用MVC),我会先写一个专门获取问题的函数 function getQuestion( 参数 ) , 然后再在 首页model(类) 中 require 这个函数 , 然后再传参调用这个函数,获取到数据后,再给View 去渲染 。
我总感觉 “require 这个函数然后去调用获取数据” 这样写不好 , 但是不知道应该怎样写才算好,希望大家指教指教
其实都可以不妨碍,但是你要问一种最优解,标准方案的话,那么就使用
类
实现吧。可能你现在对很多概念还不理解,理解模糊,那么先按照被人推崇的做法做,等过一阵子在看。
面向对象的几个特性:封装、继承、多态,如果你的需求抽象出来有其中的特性,就应该考虑用oop。
你这问题就等于在问面向对象和面向过程哪个好,这个问题已经争论了很多年,如今也有人说面向函数,每个人都有自己喜欢的方式
我的见解是具体情况具体分析,面向对象易复用,易扩展,易维护,但是面向过程性能比面向对象高,如果项目中相同逻辑模块或者重复代码较多,推荐使用面向对象,如果项目结构不复杂而又追求性能,那么比较推荐面向过程。其实一个项目中这两种方式完全可以结合使用。看具体需求
http://m.blog.csdn.net/articl...
大型项目尽量使用类实现,而小型项目通过函数更加简便
需要重用的尽量通过类实现
通过类的好处是,代码写多了,模块化之后再写新项目会很轻松
真正的面向对象,必须要有:
有状态 (stateful)
用消息来通信 (message passing)
否则请考虑 函数式 或 过程式。
把 类 当作 命名空间 也是可以的,比如一个 类 里全是 静态方法。
但
require
本身就是 命名空间 的一种实现,所以不需要。可以看看这篇
面向对象与设计模式 /a/11...
毫无疑问,使用 OO 编程。
PHP项目发展到7这个版本,已经很OO了,没必要开历史的倒车啊。
追求性能? 别逗了,web应用的性能瓶颈一般不在这个地方。
你说的require这个问题,你用composer + namespace就可以了。
建议你学习一下symfony,laravel这样的框架代码,不要再闭门造车了。
设计模式是不限于实现方式的,只是一种思想,按照个人喜好即可。
我本人喜欢用一个静态类(类里面全部是静态方法)处理这种场景
怎么方便怎么来
看着自己的项目来吧,不要一个项目什么都用,统一跟着项目走。