考虑到性能和速度,您更喜欢哪种类型的编程? 执行小任务的单个类或包含这些小任务的通用类?
普通班的例子:
general.class.php文件:
<?php
class Session{
public function get(){};
public function set(){};
}
?>
不同类的示例:
session.class.php文件:
<?php
class Cache{
public function loadCache(){}
public function storeCache(){}
}
?>
cache.class.php文件:
# E.g. with UTC timezone :
import pytz
import datetime
today = datetime.datetime.today()
past = today + timedelta(days=-200)
pytc.utc.localize(past)
results = mongo.stuff.find({"date_added": {"gt": past}}, {"id":1})
答案 0 :(得分:0)
良好的面向对象设计旨在使代码易于维护和理解。 SRP,单一责任原则告诉我们,只能在一个类中收集API的逻辑集,以便这些API旨在为单个定义良好的任务提供服务。虽然SRP有帮助并且是良好的原则,但如果没有很好地实施可以导致许多Lilliput类。它是你的应用程序,你是最好的判断,看你的班级是否有明确的目的(类名可能有帮助)。如果你的课程的名称多于其名称,那就要分解你的课程。
查看类的名称是否过于笼统(特别注意名称中包含的类如:manager,controller,initilizer),或者包括像&#39;和&#39;这样的分隔符。这些是让您了解瑞士刀类的几种方法。将这些类分解为更小的类,(一旦分解,您可能会看到几个具有类似API但实现不同的类。您可能需要为它们定义通用接口)。您可能还需要使用合成来实现功能。
还要确保不会分解到产生许多lilliput类的级别。