登录

php类的设计问题?

一个类文件,里面方法太多了,看的人都晕了,我想按功能分类管理,分在不同文件里,方法之间会彼此调用,而且不管用哪个方法,我只需要new myclass()这一个类就够了,不要new其他的东西;

请问应该怎么设计?

# PHP
黄舟黄舟2153 天前499 次浏览

全部回复(5) 我要回复

  • ringa_lee

    ringa_lee2017-04-11 09:20:55

    楼主只是单纯的想把方法分类存放?类与类之间有没有依赖关系?我觉得如果只是因为太乱想分开写方法,这不能算是一个设计。所以你只要按自己项目需要分类就行了。如果你的一个方法里因逻辑不一样存在多种实现,可以用策略模式,如果,你是需要随时改变实现的可以用工厂模式,如果你是方法与方法之间互相套接的可以用装饰模式。用什么模式设计主要看项目的要求。

    回复
    0
  • PHP中文网

    PHP中文网2017-04-11 09:20:55

    可以拆分成trait,看示例:

    // myClass.php中
    // include trait1.php 
    class myClass {
        use trait1, trait2, trait3;
    }
    
    // trait1.php中
    trait1 {
        public function foo() {...}
        ...
    }
    

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 09:20:55

    一般都是某一类功能才放在一个类里面,建议你用第三方框架,像thinkphp之类的

    回复
    0
  • PHPzhong

    PHPzhong2017-04-11 09:20:55

    就像楼上说的,你可以用第三方框架.或者你手动写一个自动加载类

    回复
    0
  • 迷茫

    迷茫2017-04-11 09:20:55

    看看设计模式,有启发

    回复
    0
  • 取消回复发送