这些我都看过,
我可以改变,但在我的 MV* 结构中我有:
/models
customer.class.php
order.class.php
/controllers
customer.controller.php
order.controller.php
/views
...
Run Code Online (Sandbox Code Playgroud)
在他们实际的课堂上,
class CustomerController {}
class OrderController{}
class CustomerModel{}
class OrderModel{}
Run Code Online (Sandbox Code Playgroud)
我试图与名称保持一致。如果我不添加类名后缀(控制器、模型),我将无法加载该类,因为这是重新声明。
如果我保留类的名称,自动加载会失败,因为它将查找名为的类文件
CustomerController
Run Code Online (Sandbox Code Playgroud)
当文件名确实是,
customer.controller.php
Run Code Online (Sandbox Code Playgroud)
我唯一的方法是(排名不分先后):
include、
require_once等)?
示例代码,
function model_autoloader($class) {
include MODEL_PATH . $class . '.model.php';
}
spl_autoload_register('model_autoloader');
Run Code Online (Sandbox Code Playgroud)
看来我必须重命名文件,
http://www.php-fig.org/psr/psr-4/
“终止类名对应于以 .php 结尾的文件名。文件名必须与终止类名的大小写匹配。”
我认为接口,多态性和通过依赖注入的控制反转等模式的全部原因是为了避免紧耦合,分离,模块化等等.
那么为什么我必须明确地将接口"连接"到ASP.NET中的具体类?会不会有我的注册表是某些类型的耦合?喜欢,
services.AddTransient<ILogger, DatabaseLogger>();
Run Code Online (Sandbox Code Playgroud)
如果我使用记录器,ILogger并创建实现该接口的文件和数据库类,该怎么办?
在我的IoC中,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public interface ILogger
{
void logThis(string message);
}
public class DatabaseLogger : ILogger
{
public void logThis(string message)
{
//INSERT INTO table.....
System.Console.WriteLine("inserted into a databse table");
}
}
public class FileLogger : ILogger
{
public void logThis(string message)
{
System.Console.WriteLine("logged via file");
}
}
public class DemoClass
{
public ILogger myLogger;
public DemoClass(ILogger myLogger)
{
this.myLogger = myLogger; …Run Code Online (Sandbox Code Playgroud) 我正在尝试评估托管扩展性框架 (MEF) 是否可以用于扩展 ASP.NET Core 2.x MVC 网站。我也看到了 ExtCore。我的愿望是使用它为我的应用程序中的插件构建基础设施。
我无法弄清楚 MEF 是否是 Silverlight 的遗产,或者 MEF 是否是 Core 实际用于其 IoC 的内容。我知道 MEF 在 CoreFX 中,但这就是我确定的全部。
如果可行而不是遗留的话,我想在这里使用 MS 的 IoC DI。MEF 是遗留的还是 Core 本身使用的?
我看过一些问题,大多数都是很老的问题,
.NET Core(或 ASP.NET 5)中是否有 MEF 的替代品
在 ASP.NET Core 中,IoC ASP 启动类是否解决了托管可扩展性框架通过目录和容器解决的问题? (最后一个是我2016年底问的一个问题。)
asp.net dependency-injection mef inversion-of-control asp.net-core-2.0
我想将它安装在我的开发机器上,以便它出来时.但我担心介于两者之间的项目不对,应用程序的测试也很麻烦.我使用的是VWD 2008 Express.也不确定是否使用RC1.
谢谢.
编辑:
这是一个我知道只有IE的内联网.再次感谢你.
当你考虑构建一个应用程序,比如Web,并且它使用关系数据库时,你是先考虑数据库然后把你的应用程序作为前端,还是考虑你的程序和对象以及数据库如何存储那些.我试图改变我的想法,但它没有点击(我不确定我的评估是否正确.)
我已经问过其他的Hibernate和nHibernate问题,但我试图将其解决.我倾向于首先考虑数据库方面的数据库应用程序,然后考虑应用程序.在阅读了很多关于Hibernate的内容之后,似乎那些使用Hibernate的人会有不同的看法.他们似乎在考虑对象和类.他们与我完全相反.
并且在Hibernate的背景下.如果我倾向于首先考虑数据库方面,那么在开始时是否存在"坏"或"错误"的心态?我只能找到一些使用Hibernate或其他ORM的一致原因 - 性能,数据库不可知性,并且它从那里变化.我想使用Hibernate,但我想正确处理它.它似乎是一种完全不同的思维方式,而不仅仅是性能和选择数据库.
有关:
在Microsoft的MVC教程NerdDinners的代码中:
公共类DinnerRepository {
Run Code Online (Sandbox Code Playgroud)private NerdDinnerDataContext db = new NerdDinnerDataContext(); // // Query Methods public IQueryable<Dinner> FindAllDinners() { return db.Dinners; } public IQueryable<Dinner> FindUpcomingDinners() { return from dinner in db.Dinners where dinner.EventDate > DateTime.Now orderby dinner.EventDate select dinner; } public Dinner GetDinner(int id) { return db.Dinners.SingleOrDefault(d => d.DinnerID == id); } // // Insert/Delete Methods public void Add(Dinner dinner) { db.Dinners.InsertOnSubmit(dinner); } public void Delete(Dinner dinner) { db.RSVPs.DeleteAllOnSubmit(dinner.RSVPs); db.Dinners.DeleteOnSubmit(dinner); } // // Persistence public void Save() { db.SubmitChanges(); }}
什么: …
我在大学里学习数学(三角学,微积分II ......)但我不知道为什么你在游戏物理中使用tan,arctan等.我知道我可以找到工作代码并理解除了为什么我使用特定的trig函数之外的一切,但我不希望这样.
我想知道为什么我使用arctan或罪恶.我在哪里可以了解为什么我使用特定的数学函数来使球实际弹跳?
谢谢你的帮助.
编辑:我是否需要参加入门级物理课来理解游戏物理?
如果我想使用jquery(或其他)ajax在页面中部分更新数据,我调用的页面是否必须是Web服务?或者只返回任何返回json或xml的页面?
我想我是这样问的,因为在asp.net中你有"官方"的网络服务.在其他语言和框架中,它们可能不是那样的.我知道例如我可以创建一个经典的asp页面并返回一个xml文档.这是一个Web服务吗?
我不知道该怎么做.我刚开始在一个真实的项目中使用SVN.我有一切正常.但是,我是唯一使用它的人.现在我想向这个过程介绍第二个人.
我在我的Windows机器上下载了tortoisesvn并检查了主干.我可以编辑文件并提交我的新文件.一切正常.
现在,我希望第二个人这样做,而我正在做点什么.通常他可能正在处理另一个文件,我们同意将我们提交的文件导出到测试服务器(我的想法无论如何),但是如果我们正在处理同一个文件呢?例如,配置文件.也许我们都需要改变它.当别人改变它时,我怎么能(或他)保留另一个.如果我们其中一个人提交了一个新的更新,它将会删除我们刚刚放入的内容.不知道该怎么做.
ajax ×1
architecture ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
database ×1
hibernate ×1
jquery ×1
lambda ×1
math ×1
mef ×1
nerddinner ×1
nhibernate ×1
orm ×1
php ×1
php-5.5 ×1
psr-4 ×1
ruby ×1
scala ×1
svn ×1
twitter ×1
web-services ×1