我有一个新项目(电子商务网站),我决定尝试OOP作为我的新编程技巧。我读了几本书,开始了解用于什么类,方法等。但是,遗憾的是,我读过的这本书都没有给我一个线索,我应该将项目的哪个或哪个部分视为对象。
例如,我知道用户,产品,供应商是对象,它应该有自己的类。但购物车,菜单,仓库,用户评论/评论呢?这些对象也是吗?
如果有真实案例的书籍或参考书,不以汽车,鸟和帽子为例,请告诉我。非常感谢你。
答案 0 :(得分:3)
关于OOP的棘手部分是没有一种方法可以做到这一点。就像建房子一样,您可以选择任何类型的建筑。什么是对象取决于您正在构建的内容以及您希望每个部分的灵活性。在构建项目时,您必须确定要关注哪些部分。然后它们成为对象(即应用程序的主域)。
有时候对象会变大,需要将它们分成另一个类,而是相互通信。关于软件开发的一件事是,随着时间的推移,你可以通过犯错来学习。这就是你如何学习如何识别设计决策的缺陷。太多的前期设计决策也不是那么有效,但如果你知道项目将持续一段时间,那么太少也会造成很大的伤害。这完全取决于项目的规模。
我说继续尝试编码!在编码和重构自己的代码时,您会对自己学到的知识感到惊讶。并且不要忘记随着时间的推移提出更多问题。玩得开心!
答案 1 :(得分:3)
每个数据库表都应该是一个对象。例如,您正在构建用于保存注释的应用程序。对于这个应用程序,首先你需要用于笔记的表,它将是主表并且具有引用其他表ID的外键,例如" Type"," User", "状态"以及与#34; Note"相关的任何事情。所以你用表创建数据库。
Note -> Id, Title, Description, Type(Foreign Key), Status(Foreign Key), User(Foreign Key).
Type -> Id, TypeName.
Status -> Id, StatusName.
User -> Id, FirstName, LastName, Email, Role
在获得其他一些框架的经验后,我发现首先应该为您的应用程序创建管理员面板,并从基本的CRUD(创建,读取,更新,删除)操作开始,因为它将帮助您构建某种基本的您可以用于其他应用程序部分的功能。
我们走了:
class Note
{
private $id, $title, $description, $type, $status, $user;
private $conObj;
public Note()
{
}
}
class Type
{
private $id, $typeName, $conObj;
public Type()
{
}
}
class Status
{
private $id, $statusName, $conObj;
public Status()
{
}
}
class User
{
private $id, $firstName, $lastName, $email, $role, $conObj;
public User()
{
}
}
每个类都可以有insert,update,selectAll,selectUnique等函数。 所以你也创建了连接类。
class Connection
{
private $hostName, $userName, $password, $dbName;
private $conObj;
public Connection()
{
}
public Connect()
{
$this->conObj = new mysqli($this->hostName, $this->userName, $this->password, $this->dbName)
}
}
之后,由您决定如何连接" Connection"类实例到其他类实例。