首页 \ 问答 \ 什么是Web应用程序中的n层架构范围?(What are n-tier architecture scope in web-application?)

什么是Web应用程序中的n层架构范围?(What are n-tier architecture scope in web-application?)

我发现了n-tier Web应用程序概念,如下所示:

1-数据库(包括数据库业务和表或存储过程以及所有数据库内容)

2-网络。 数据(包括实体和存储库)

3-网络。 模型(包括非实体的一些简单模型可以转移到客户端)

4-网络。 业务(在某些应用程序中被承认它不是强制性的,但它包括一些功能,例如如何计算事物)

5-网络。 服务(包括SOAP restful应用程序上的Web API)

6-网络。 安全性(它包括一些您想要的自定义安全性,但它不是强制性的)

7-网络。 客户端(包括客户端功能,如jquery,mvvm和其他一些类似身份验证,在UI中实现的证券)

8-网络。 扩展(包括额外的辅助方法和包装器对象)

9-网络。 处理程序(包括所有处理程序和模块)

这些层可以放在不同的项目上,它们可以由MVC实现,甚至可以通过asp.net实现,具有相同的概念。

我想知道我的理解是否正确? 还是有更好的主意? 你能扩展它们还是有限且足够?

请指导我们有什么标准?


I've found out n-Tier web application concept like following categories:

1- Database (including database business and table or store procedures and all database stuff)

2- Web. Data (including entities and repositories)

3- Web. Model (including not entities some simple model can transfer to client)

4- Web. Business (in some application is admitted it is not mandatory but it includes some functionality such as how to calculates things)

5- Web. Service (including web API on SOAP restful application)

6- Web. Security (it includes some custom security as you wish but it is not mandatory)

7- Web. Client (including client-side functionalities like jquery, mvvm and some other like authentication, securities implemented in UI)

8- Web. Extension (including extra helper methods and wrapper objects)

9- Web. Handler (including all handler and modules)

These layers could be placed on different projects they could be implemented by MVC or even by asp.net of course with the same concept.

I was wondering if my understanding was right or not? or got any better idea? Could you expand them more or are they limited and enough?

Please guide me what are standards about them?


原文:https://stackoverflow.com/questions/16895079
更新时间:2023-06-15 08:06

最满意答案

这是过去十天的查询。

 select sysdate - (level-1)
        , level as day_order
 from dual
 connect by level <= 10;

你的月份查询看起来非常过分。 这将做同样的事情:

select to_char(add_months(trunc(sysdate, 'MM'), 1 - level), 'Month')
       , level as month_order
from dual
connect by level <= 7;

“假设数据在今天的日期有效,其余9天没有任何数据,但必须将计数显示为零”

在外连接中使用生成的结果集:

with q as (
 select sysdate - (level-1) as dt
        , level as day_order
 from dual
 connect by level <= 10 
)
select q.dt as txn_date
      , sum(t42.col1)
from q
     left outer join t42
      on t42.transaction_date = q.dt
group by q.dt;

Here's a query for the last ten days.

 select sysdate - (level-1)
        , level as day_order
 from dual
 connect by level <= 10;

Your month query seems extremely over-engineered. This would do the same thing:

select to_char(add_months(trunc(sysdate, 'MM'), 1 - level), 'Month')
       , level as month_order
from dual
connect by level <= 7;

"Let suppose if the data is available on today's date and remaining 9 date's doesn't have any data but it has to display the count as zero"

Use the generated result set in an outer join:

with q as (
 select sysdate - (level-1) as dt
        , level as day_order
 from dual
 connect by level <= 10 
)
select q.dt as txn_date
      , sum(t42.col1)
from q
     left outer join t42
      on t42.transaction_date = q.dt
group by q.dt;

相关问答

更多

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)