我有一个新的项目(电子商务网站),我决定尝试OOP作为我的新编程技能。我读了很少的书,开始了解使用什么类、方法等。但是,不幸的是,我读过的这些书都没有给我一个线索,我应该把项目的哪些部分作为一个对象来看待。
例如,我知道用户、产品、供应商都是对象,它应该有自己的类。
但是购物车,菜单,仓库,用户评论/评论呢?这些东西也是吗?
如果有一本书或参考资料与真实的案例,而不是以汽车,鸟和帽子为例,请告诉我。非常感谢。
发布于 2015-10-28 06:16:14
每个数据库表都应该是一个对象。例如,您正在构建保存便笺的应用程序。对于这个应用程序,首先您需要备注表,它将是主表,并具有引用其他表ID-s的Foreign,如"Type“、"User”、"Status“以及与"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 (Create、Read、Update、Delete)操作开始,因为它将帮助您构建可能用于应用程序其他部分的某种基本功能。
现在我们开始:
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()
{
}
}每个类都可以具有插入、更新、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“类实例连接到其他类实例。
发布于 2015-10-28 04:53:10
OOP的棘手之处在于,没有一种方法可以做到这一点。就像建造房子一样,你可以选择你喜欢的任何类型的建筑。什么是对象取决于您正在构建什么,以及您希望每个部分具有多大的灵活性。当您正在构建一个项目时,您必须决定哪些部分是重点。然后,它们将成为对象(即应用程序的主域)。
有时对象会变大,它们需要被分离成另一个类,而是相互通信。关于软件开发的一件事是,你在前进的过程中学习,在过程中犯错误。这就是你如何学会识别设计决策的陷阱。太多的前期设计决策也没有那么有效,但是如果你知道这个项目会持续一段时间,那么太少也会造成很大的伤害。这完全取决于一个项目的规模。
我说,继续,并尝试编码已经!当你编码和重构你自己的代码时,你会惊讶于你学到了多少。别忘了边走边问更多的问题。玩得开心!
https://stackoverflow.com/questions/33382908
复制相似问题